WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Findpeaks mit Ausschnitt

 

Hans Peter90

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.06.2015, 21:05     Titel: Findpeaks mit Ausschnitt
  Antworten mit Zitat      
Harald hat Folgendes geschrieben:
Hallo,

dazu würde ich die Funktion nur auf den Bereich des Signals anwenden, also z.B.
Code:
[y1, x_i1] = findpeaks(y(x > x0),'minpeakheight',0)

Vorsicht, die Indizes verschieben sich dadurch natürlich.

Grüße,
Harald



Hab das gleiche wie oben probiert und es klappt nicht. Wie kann ich ermitteln wie viele Indize vor x0 schon waren bzw. das addieren von x0 also x1=x(x_i1)+x0; klappt auch nicht.
Danke für deine Hilfe!!!

[EDITED, Jan, Bitte keine neuen Fragen an bestehende Threads anhängene, Danke!]
Siehe: http://www.gomatlab.de/problem-mit-.....dpeaks-t28292.html#112232


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 24.06.2015, 09:45     Titel:
  Antworten mit Zitat      
Hallo Hans Peter90,

"Klappt nicht" ist nicht praktisch in einem Forum. Bitte poste den Code und die vollständige Fehlermeldung.

Danke, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Hans Peter90

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.06.2015, 10:42     Titel:
  Antworten mit Zitat      
Code:
%-------------------Findet Peaks im thermischen Bereich------------
%Variablen
grenze_thermB_li = 0.00001;
max_s1_values = max(s1_values);    
min_peak_height = (max_s1_values*0.3);
%Findpeaks
[s2_pks s2_locs_ind] = findpeaks(s1_values(s1_time>grenze_thermB_li),'MinPeakHeight',min_peak_height,'MinPeakDistance',30);
s2_locs = s1_time(s2_locs_ind);
%Plot3
figure(3)
plot (s1_time,s1_values);
hold on
plot(s1_time,s1_values,'.g',s2_locs,s2_pks,'or');
xlabel('time');
ylabel('V');
axis tight;


Fehlermeldung direkt kommt keine, aber meine gefunden Peaks in Abhängigkeit meiner Parameter(MinPeakHeight und MinPeakdistance) sind alle um einen Betrag nach links verschoben(ich vermute, dass hat was mit den Indizes der findpeak Funktion zu tun).

Plot.JPG
 Beschreibung:

Download
 Dateiname:  Plot.JPG
 Dateigröße:  136.93 KB
 Heruntergeladen:  505 mal
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 24.06.2015, 19:07     Titel:
  Antworten mit Zitat      
Hallo,

wenn s1_time monoton steigend ist, würde ich intuitiv sagen:

Code:
interessant = s1_time>grenze_thermB_li;
davor = find(interessant, 'first', 1) - 1;
[s2_pks s2_locs_ind] = findpeaks(s1_values(interessant),'MinPeakHeight',min_peak_height,'MinPeakDistance',30);
s2_locs_ind = s2_locs_ind + davor;


Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
Gesplittet: 25.06.2015, 14:03 Uhr von Jan S
Von Beitrag Problem mit dem Befehl "findpeaks" aus dem Forum Sonstige MATLAB Fragen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.