假设我有一个数组:
[1 5 1 1 3 1 1 1 7]
我希望找到' 1'之后的每个元素的索引,所以我会得到2,5,9。matlab是否提供了任何操作? 谢谢你的帮助,Nadine
答案 0 :(得分:6)
我建议以下单行:
a = [1 5 1 1 3 1 1 1 7];
idx = find(a(1:end-1) == 1 & a(2:end) ~= 1) + 1
返回:
idx =
2 5 9
希望有所帮助
答案 1 :(得分:3)
这是另一种方式。设x
为输入向量。
result = find(diff(x==1)<0)+1;
示例:
>> x = [1 5 1 1 3 1 1 1 7];
>> result = find(diff(x==1)<0)+1
result =
2 5 9