poster
2019-12-14, 20:13
给定一个1 * N矩阵或数组,我如何找到前四个具有相同值的元素,然后存储这些元素的索引?
PS:我很好奇。如果我们想找到前四个元素的值差在一定范围内,例如小于2,该怎么办?例如,M = [10,15,14.5,9,15.1,8.5,15.5,9.5],我要查找的元素将是15,14.5,15.1,15.5,索引将是2,3,5, 7。
回答:
如果要让第一个值在Matlab的数组“标签”中出现4次,则可以使用
num_min = 4 val=NaN; for i = tab if sum(tab==i) >= num_min val = i; break end end ind = find(tab==val, num_min); 通过实例
tab = [2 4 4 5 4 6 4 5 5 4 6 9 5 5] 你得到
val = 4 ind = 2 3 5 7
更多&回答... (https://stackoverflow.com/questions/4689857)
PS:我很好奇。如果我们想找到前四个元素的值差在一定范围内,例如小于2,该怎么办?例如,M = [10,15,14.5,9,15.1,8.5,15.5,9.5],我要查找的元素将是15,14.5,15.1,15.5,索引将是2,3,5, 7。
回答:
如果要让第一个值在Matlab的数组“标签”中出现4次,则可以使用
num_min = 4 val=NaN; for i = tab if sum(tab==i) >= num_min val = i; break end end ind = find(tab==val, num_min); 通过实例
tab = [2 4 4 5 4 6 4 5 5 4 6 9 5 5] 你得到
val = 4 ind = 2 3 5 7
更多&回答... (https://stackoverflow.com/questions/4689857)