Conditional find in matlab

1 visualizzazione (ultimi 30 giorni)
Amir Mahmoudi
Amir Mahmoudi il 18 Gen 2024
Commentato: Les Beckham il 18 Gen 2024
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.

Risposta accettata

Les Beckham
Les Beckham il 18 Gen 2024
Modificato: Les Beckham il 18 Gen 2024
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 Commenti
Amir Mahmoudi
Amir Mahmoudi il 18 Gen 2024
Is it possible to write your codes in terms of > or < ?
Les Beckham
Les Beckham il 18 Gen 2024
Sure, just change the == to whatever you want instead.

Accedi per commentare.

Più risposte (0)

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by