2015-09-04 39 views
1

我有以下矩阵选择子集上条件

test = [1 2 3 4; 
     2 3 4 5; 
     3 4 5 6; 
     4 5 6 7; 
     5 6 7 8]; 

我想选择一个第一项具有在1和3之间的值I与

test(test(:,1)<3 && test(:,1)>1) 
试图

但这给了我一个错误。然后我试图与

test(1<test(:,1)<3) 

但是这并没有给我想要的结果2 3 4 5。有没有办法获得这是Matlab?

回答

2

试试这个,我不能在Matlab中测试它,但它应该工作。

test((1 < test(:,1) && test(:,1) < 3),:) 

说明:

这 (1个<试验(:,1)& &试验(:,1)< 3) 获取的二进制数组与符合标准的行,则用它来选择行。

有关更多信息,请参阅here

1

为了逻辑比较载体逐一你必须使用的&代替& &:

test(test(:,1)<3 & test(:,1)>1,:) 

这就产生了答案:

2  3  4  5 
+0

我在Matlab测试这一点。 – mabe