Ich habe eine Wellenform, in der ich einen bestimmten Punkt (grüner Stern auf der Handlung unten) mit einem Kriterium bestimmt habe. Ich möchte jetzt die Position des nächsten Peaks (könnte ein Maximum oder Minimum sein) auf der rechten Seite dieses Punktes (z. B. roter Kreis auf dem Diagramm unten, in diesem Fall ist es ein Minimum) automatisch finden. Beachten Sie, dass ich dies auf mehreren Wellenformen mit unterschiedlichen Peakhöhen/Rauschgehalt ausführen werde.Finde die nächste Spitze von einem Punkt mit MATLAB
Versucht die Funktion findpeaks()
, aber kann es nicht wirklich zum Funktionieren bringen! Jede Hilfe wird sehr geschätzt.
von user3288586 Neuer Code nach der Antwort des EDITED, arbeiten:
prominence_factor = 0.1
[peakPos , locPos] = findpeaks (signal,time,'Npeaks',1,'MinPeakProminence', prominence_factor);
[peakNeg, locNeg] = findpeaks (-signal,time, 'Npeaks', 1, 'MinPeakProminence', prominence_factor);
Vielen Dank! Es hat nicht mit dem invertierten Signal wie in Ihrer Formel funktioniert. Es scheint jedoch gut zu funktionieren, wenn ich nur das Negative meines Signals (-original_signal) nehme. Irgendeine Ahnung? – user3406207
Wenn es funktioniert, benutze es. Und dann akzeptiere seine Antwort :-) – tim
Schwer zu sagen. Es hilft, wenn Sie Ihren Code und das Signal teilen können. – Amal