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

Automatisches Bestimmen von Bergen und Tälern aus Histogram

 

Logi87
Forum-Anfänger

Forum-Anfänger


Beiträge: 47
Anmeldedatum: 06.04.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.09.2012, 12:49     Titel: Automatisches Bestimmen von Bergen und Tälern aus Histogram
  Antworten mit Zitat      
Hallo,

ich habe als Auswertung eines Prozesses drei diagramme.
Die hänge ich mal an im Anhang.

das erste ist recht egal und nur der vollständigkeit halber da.

wichtig wird es bei den 2 und 3.
ich möchte automatisiert erfassen wie viele berge und täler es
in den diagrammen gibt. über einen schwellwert habe ich es probiert,
das scheint mir aber zu statisch.

Also als Ergebniss möchte ich haben
Diagramm 2 : 3 Berge , 2 Täler
Diagramm 3 : 4 Berge, 3 Täler


ich hatte mir überlegt eine Kurve durch die Werte zu legen und auf Krümmungsänderung zu überprüfen, aber das bekomme ich irgendwie nicht hin. hält matlab eine standardfunktion dafür bereit?

histo.jpg
 Beschreibung:

Download
 Dateiname:  histo.jpg
 Dateigröße:  62.28 KB
 Heruntergeladen:  411 mal
Private Nachricht senden Benutzer-Profile anzeigen


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 17.09.2012, 15:13     Titel: Re: Automatisches Bestimmen von Bergen und Tälern aus Histo
  Antworten mit Zitat      
Hallo Logi87,

"Berg" heißt, dass der Wert davor und der Wert danach niedriger ist, oder?
Code:
Berg = x(1:end-2) < x(2:end-1) & x(2:end-1) > x(3:end)

Hilft das bereits weiter? Eine besondere Behandlung des Randes ist notwendig.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Logi87
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 47
Anmeldedatum: 06.04.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.09.2012, 17:06     Titel: Re: Automatisches Bestimmen von Bergen und Tälern aus Histo
  Antworten mit Zitat      
Jan S hat Folgendes geschrieben:
Hallo Logi87,

"Berg" heißt, dass der Wert davor und der Wert danach niedriger ist, oder?
Code:
Berg = x(1:end-2) < x(2:end-1) & x(2:end-1) > x(3:end)

Hilft das bereits weiter? Eine besondere Behandlung des Randes ist notwendig.

Gruß, Jan


Noch nicht ganz, ich habe das ganze nochmal mit mehr Gruppen durchlaufen lassen und jetzt habe zwischen zwei Bergen kleinere Schwankungen die diese einfache Version entschärfen.

ich hänge mal als Bild an was ich meine.

untitled.jpg
 Beschreibung:

Download
 Dateiname:  untitled.jpg
 Dateigröße:  71.06 KB
 Heruntergeladen:  474 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 18.09.2012, 13:26     Titel: Re: Automatisches Bestimmen von Bergen und Tälern aus Histo
  Antworten mit Zitat      
Hallo Logi87,

Es wäre sinnvoller gleich die echten Daten zu posten, da ich dann nicht Deine und meine Zeit mit zweckfernen Vorschlägen vergeuden würde.

Nun müsstest Du physikalisch motivierte Grenzen finden, ab wann eine Zacke ein Berg ist, und was nur Rauschen ist. Eine beliebige Wahl irgendwelcher Grenzwerte für Absolutewerte, Steigungen etc werden zwar bei ein paar Beispielen funktionieren, aber nicht notwendigerweise zuverlässig. Wenn Du dagegen weißt, dass die Werte messtechnisch bedingt mit einer Frequenz von 100Hz rauschen können, wäre ein Filter geeignet und zuverlässig konstruierbar.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
flashpixx
Forum-Guru

Forum-Guru


Beiträge: 355
Anmeldedatum: 19.04.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.09.2012, 17:13     Titel:
  Antworten mit Zitat      
Mach ein Clustering, die "Berge" würden dann den Prototypen in Deinem Datenraum entsprechen.
Private Nachricht senden Benutzer-Profile anzeigen
 
Logi87
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 47
Anmeldedatum: 06.04.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.09.2012, 19:12     Titel:
  Antworten mit Zitat      
Tut mir leid, die Anpassung der Klassen hat sich beim Arbeiten verändert gehabt.


Habe es jetzt geschaft mein Histogram umzuwandeln mit dem hier...
http://www.mathworks.com/matlabcent.....tent/html/examples.html#1

Davon die lokalen Minima und Maxima bestimmen und gut ist.
Da hackt es aber gerade noch

Code:
% Data (200 points)
x = 2*pi*rand(1,200);
y = sin(x) + sin(2*x) + 0.2*randn(size(x));

% Uniform breaks
breaks = linspace(0,2*pi,41); % 41 breaks, 40 pieces
pp1 = splinefit(x,y,breaks);

% Breaks interpolated from data
pp2 = splinefit(x,y,10);  % 11 breaks, 10 pieces

% Plot
figure(1)
xx = linspace(0,2*pi,400);
y1 = ppval(pp1,xx);
y2 = ppval(pp2,xx);
plot(x,y,'.',xx,[y1;y2])
axis([0,2*pi,-2.5,2.5]), grid on
legend('data','41 breaks, 40 pieces','11 breaks, 10 pieces')
title('EXAMPLE 1: Breaks and pieces')
Private Nachricht senden Benutzer-Profile anzeigen
 
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 - 2025 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.