从数组中提取元素x,其中a

时间:2014-02-03 13:19:30

标签: matlab matrix logical-operators

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

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

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

array1= array0(array0<=3);
array3= array0(array0>7);

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

array2= array0(3<array0<=7);

但这不起作用,它只是给我一个空数组。但它没有给出错误。谁能帮我找到代码中的缺陷?

1 个答案:

答案 0 :(得分:6)

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

array2= array0(array0>3 & array0<=7);

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