If I have a logical array with 2 or more sets of continuous true values, how do I just grab the first or second continual set, for example?

6 次查看(过去 30 天)
Suppose I have the vertical logical array:
[0 0 0 1 1 1 1 0 0 0 1 1 0 0 ]'
What is the simplest way to reference (ie get row numbers) or extract just the first or set of true values (ie., ans = [4,5,6,7]) in the array?

采纳的回答

Jan
Jan 2017-8-1
编辑:Jan 2017-8-1
v = [0 0 0 1 1 1 1 0 0 0 1 1 0 0];
ini = strfind(v, [0, 1]);
fin = strfind(v, [1, 0]);
idx = (ini(1) + 1):fin(1)
Or perhaps:
ini = find(v, 1);
fin = strfind(v, [1, 0]);
idx = ini:fin(1)

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by