zu schätzen, wenn Sie Ihre Daten für Werte Beschleunigung, so dass der findpeaks Funktion nur die Spitzenbeschleunigungswerte zurück. Wenn Sie auch die Spitzen der Verzögerung wollen, multiplizieren Sie Ihren Vektor mit -1 und rufen Sie erneut die Funktion findpeaks auf.
BTW Wenn Sie nur Bereiche der Beschleunigung und Verzögerung benötigen, wäre dies ein beliebiger Wert, der nicht Null ist.
Beispiel: für die beschleunigte vector:
x = [1 2 5 7 7 8 3 1 2 2 2 -2 -4 -7 -3 -1 0 5];
es Stück wäre:
und die findpeaks
Funktion gibt den Wert 8 (die der 6'th Index ist). Wenn Sie die gleiche Funktion mit dem Vektor multipliziert mit -1 ausführen, erhalten Sie den Wert -1 (was der 8. Index ist). Und wieder eine gute Visualisierung dass:
Wenn Ihre Daten negative Werte enthalten, können Sie das Paar verwenden: (MinPeakHeight, 0) in Ihrer findpeaks Funktion als:
findpeaks(x, 'MinPeakHeight', 0);
für die Beschleunigung Problem , damit Sie keine negative Beschleunigung bekommen. Dies hängt jedoch von Ihren spezifischen Problemdetails ab.
bearbeiten: Wie Sie sehen können, fügte ich dem Vektor einige negative Werte für eine vollständige Antwort auf Ihr Problem. In der ursprünglichen Grafik wären die Beschleunigungsspitzen die Indizes: (6, 9) für positiv und (14) für negativ. Die Verzögerung wäre: (8).
So wird nun jede Beschleunigung ein beliebiger positiver Wert sein, den die Findpeaks auf dem ursprünglichen Vektor zurückgeben; und alle positiven Werte, die die Funktion an dem umgedrehten (multipliziert mit -1) Vektor zurückgibt. Wie bei der Verzögerung wird es das genaue Gegenteil sein: negative Werte vom ursprünglichen Vektor und negative Werte vom umgedrehten Vektor.
Hoffe es ist jetzt klar.
Wie sieht Ihr Datensatz aus? Kannst du uns zeigen, was du bisher versucht hast? – Johannes
Der Datensatz besteht aus Zeit- und Beschleunigungs-/Verzögerungswerten – DashD