如何定义数组中某些元素的范围。 例如: a = [2.3,3.6,5.1,3.8] 我想在没有循环的情况下选择3到4之间的元素,如下所示: a在[3,4] 要么 a> 3&&一个<< 4 谢谢。
答案 0 :(得分:4)
非常简单:
>> a = [2.3 3.6 5.1 3.8]; %// Define your data
>> b = a(a > 3 & a < 4)
b =
3.6000 3.8000
但是,如果您的目标是确定哪个元素介于3和4之间,则可以使用find
作为Maurits在上述评论中所说的内容:
>> f = find(a > 3 & a < 4)
f =
2 4
使用MATLAB进行逻辑索引将是您MATLAB学习历程中最好的朋友之一。阅读MATLAB的Steve Eddins的这篇文章,获取一些提示:http://blogs.mathworks.com/steve/2008/01/28/logical-indexing/
答案 1 :(得分:0)
如果您对数组中元素的位置感兴趣,那么可以使用逻辑索引方法的替代方法&#34; a&#34;正在使用find()
a = [2.3 3.6 5.1 3.8];
b = find(a > 3 & a < 4);
b =
2 4
如果您正在寻找与您的特定情况相对应的索引,只是想添加此内容以获得完整性。否则,rayryeng的方法就可以了!