我有一个向量a = [1 5 3 4 2]
。我想找到a的所有元素,1<a<5
。我怎么在Matlab中做到这一点?
就个人而言,我已经开发出一种解决方案,但这很麻烦:
a = [1 5 3 4 2];
ix = find(a>1);
ix = ix(find(a(ix)<5));
disp(a(ix))
什么是更好的方法?
答案 0 :(得分:14)
>> a = [1 5 3 4 2];
>> a = a(1 < a & a < 5)
a =
3 4 2
答案 1 :(得分:5)
对代码进行简单的调整可以简化它:
a = [1 5 3 4 2];
disp(find(a>1&a<5))
答案 2 :(得分:3)
ismember是一个不错的选择
a = [1 5 3 4 2];
find(ismember(a, 2:4))