Hilfe bei MATLAB-Schnippsel

OP #3235910
Lesenswert?

Guten Morgen,
ich habe Verständnisprobleme bei folgendem MATLAB-Code:
1
   % find local minimums
2
   dif = sign(diff(f));
3
   pos = find(dif > [dif(1) dif(1: end - 1)]);
In "dif" befinden sich 1 oder 0 abhängig vom Vorzeichen, ist klar. Kann 
mir jemand erklären was in der zweiten Zeile passiert? Das Argument des 
find-Befehls will mir einfach nicht einleuchten...

Dank & Gruß,
Dennis
Gast #3237061
Lesenswert?

Der Ursprünliche Code vergleicht folgende Elemente:

dif(1) > dif(1), dif(2) > dif(1), dif(3) > dif(2),... , dif(n) > 
dif(n-1)

die zweite variante vergleicht:

dif(1) > dif(2), dif(2) > dif(3), ... , dif(n-1) > dif(n)

=> umgekehrt

pos = find(dif(2:end) > dif(1: end-1));

oder

pos = find(dif(1:end-1) < dif(2: end));

Schöne Grüße
Stephan

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren