Conditional find in matlab

I = find(X == a,1,'first'), J = find(X == b,1,'first'), K = find(X == c,1,'first') provided that K > J > I How can I implement the conditional part? Thanks in advance.

 Accepted Answer

X = [10 20 30 40 50 10 20 30 40 50];
a = 30;
b = 20;
I = find(X == a, 1, 'first')
I = 3
J = find(X((I+1):end) == b, 1, 'first') + I % start search after index I
J = 7
X(I)
ans = 30
X(J)
ans = 20

2 Comments

Is it possible to write your codes in terms of > or < ?
Sure, just change the == to whatever you want instead.

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!