在matlab中查找数组中遵循某个值的元素
finding elements in array which are following a certain value in matlab
假设我有一个数组:
[1 5 1 1 3 1 1 1 7]
我想找到“1”后面的每个元素的索引,所以我会得到 2、5、9。matlab 是否提供了这样做的任何东西?
谢谢你的帮助,纳丁
我建议以下一行:
a = [1 5 1 1 3 1 1 1 7];
idx = find(a(1:end-1) == 1 & a(2:end) ~= 1) + 1
returns:
idx =
2 5 9
希望对您有所帮助
这是另一种方式。设 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
假设我有一个数组:
[1 5 1 1 3 1 1 1 7]
我想找到“1”后面的每个元素的索引,所以我会得到 2、5、9。matlab 是否提供了这样做的任何东西? 谢谢你的帮助,纳丁
我建议以下一行:
a = [1 5 1 1 3 1 1 1 7];
idx = find(a(1:end-1) == 1 & a(2:end) ~= 1) + 1
returns:
idx =
2 5 9
希望对您有所帮助
这是另一种方式。设 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