我有以下矩阵
test = [1 2 3 4;
2 3 4 5;
3 4 5 6;
4 5 6 7;
5 6 7 8];
我想选择行,其第一个条目的值介于1和3之间。我尝试了
test(test(:,1)<3 && test(:,1)>1)
但这给了我一个错误。然后我尝试了
test(1<test(:,1)<3)
但这并没有给我想要的结果2 3 4 5
。有没有办法获得这个是Matlab?
答案 0 :(得分:2)
试试这个,我无法在Matlab中测试它,但它应该可以工作。
test((1 < test(:,1) && test(:,1) < 3),:)
说明:
此 (1&lt; test(:,1)&amp;&amp; test(:,1)&lt; 3) 获取一个包含符合条件的行的二进制数组,然后使用它来选择行。
有关详细信息,请参阅here。
答案 1 :(得分:1)
为了逐个逻辑地比较矢量,你必须使用&amp;而不是&amp;&amp;:
test(test(:,1)<3 & test(:,1)>1,:)
这就产生了答案:
2 3 4 5