从数组中提取元素x,其中<x <= b

use*_*412 2 matlab matrix logical-operators

我正在尝试做一个相当简单的操作,我无法成功地执行.我所拥有的是一个数组(array0)的值,比如1000个,都在0到10之间.现在我要做的是创建三个独立的数组:

array1 = array0的所有元素等于3或更小数组2 = array0中所有元素大于3但等于或小于7数组3 = array0中所有大于7的元素

现在,array1和array3工作正常.我用

array1= array0(array0<=3);
array3= array0(array0>7);
Run Code Online (Sandbox Code Playgroud)

但阵列2是一个问题.对我来说,"符合逻辑"的是尝试

array2= array0(3<array0<=7);
Run Code Online (Sandbox Code Playgroud)

但这不起作用,只是给了我一个空数组.但它没有给出错误.任何人都可以帮我找到我的代码中的缺陷吗?

Dan*_*Dan 6

您需要使用逻辑"和"运算符,如下所示:

array2= array0(array0>3 & array0<=7);
Run Code Online (Sandbox Code Playgroud)

类似于你用英语说的方式,A大于3且小于或等于7.