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

Tal Miete Öffnung finden

 

Muecke82
Forum-Century

Forum-Century



Beiträge: 100
Anmeldedatum: 10.06.13
Wohnort: Großraum Stuttgart
Version: GNU Octave V.7.1.0
     Beitrag Verfasst am: 12.01.2015, 19:43     Titel: Tal Miete Öffnung finden
  Antworten mit Zitat      
Hallo miteinander,

Dank euch habe ich es in zwischen geschafft meine CSV Datei zu lesen und zu verarbeiten.

Das beste ist kann es nun auch anzeigen lassen Smile.

jetzt kommt die eigentliche Arbeite das berechnen / Finden von bestimmten Punkten Merkmalen in den Daten.

Ich möchte herausfinden
1. Wie Breit die Öffnung der Täler ist (Grün)
2. wo die Mitte der Täler ist (Rot)



Die gefunden Daten möchte ich dann in der Figur widern darstellen können

Ich habe nur keinen Plan wie man so was rechnet, und wie man bei so was vorgehen würde.

Könntet Ihr mir da vielleicht etwas weiter helfen und mir sagen wie man so was berechnen könnte.

Ich habe damit man das nachvollziehen kann die M-File`s und die Daten in der ZIP angehängt.

replay Matlab.zip
 Beschreibung:
Das ist das Matlab Programm mit dem ich Aktuell alle Daten erstelle und auch Darstellen kann.

replay_Start.m ist die Hauptdatei


Es befinden sich auch alle X Y Z Werte in einer Datei dabei für schnelles laden ist gesorgt ;-)

Download
 Dateiname:  replay Matlab.zip
 Dateigröße:  37.36 MB
 Heruntergeladen:  652 mal
Bildschirmfoto 2015-01-12 um 19.22.54.png
 Beschreibung:
Bild aus dem Beitrag

Download
 Dateiname:  Bildschirmfoto 2015-01-12 um 19.22.54.png
 Dateigröße:  36.49 KB
 Heruntergeladen:  525 mal

_________________

--
Anfänger, habe noch nie mit so was gearbeitet.
bitte um Verständnis.
Private Nachricht senden Benutzer-Profile anzeigen


Muecke82
Themenstarter

Forum-Century

Forum-Century



Beiträge: 100
Anmeldedatum: 10.06.13
Wohnort: Großraum Stuttgart
Version: GNU Octave V.7.1.0
     Beitrag Verfasst am: 12.01.2015, 21:55     Titel:
  Antworten mit Zitat      
ich habe da was gefunden,
bin aber noch am übersäten und verstehen Sad

das müsste doch das richtige für mich sein?

http://blogs.mathworks.com/pick/2008/05/09/finding-local-extrema/

Punkt: What about smoothing those data?

oder Denke ich Falsch mit dem was ich machen möchte?
_________________

--
Anfänger, habe noch nie mit so was gearbeitet.
bitte um Verständnis.
Private Nachricht senden Benutzer-Profile anzeigen
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 12.01.2015, 22:31     Titel:
  Antworten mit Zitat      
vieleicht hilft dir
Code:

wenn du die randpunkte gefunden hast könnte ich mir vorstellen das man die mitte dazwischen einfach mit einem gleitenden mittelwert filter glätten kann. dazu giebts es auch ein beispiel in der doc.
_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
Muecke82
Themenstarter

Forum-Century

Forum-Century



Beiträge: 100
Anmeldedatum: 10.06.13
Wohnort: Großraum Stuttgart
Version: GNU Octave V.7.1.0
     Beitrag Verfasst am: 12.01.2015, 23:04     Titel:
  Antworten mit Zitat      
Winkow hat Folgendes geschrieben:
vieleicht hilft dir
Code:

wenn du die randpunkte gefunden hast könnte ich mir vorstellen das man die mitte dazwischen einfach mit einem gleitenden mittelwert filter glätten kann. dazu giebts es auch ein beispiel in der doc.


Das schau ich mir jetzt an.

das obere Beispiel habe ich gemacht mit einer einzigen ziele aus den Daten
um zu sehen was genau passiert,
jedoch sind die Daten so verwackelt das ich überall kanten habe Sad

das ist so nicht OK, und wenn ich es glätte dann geht mein Struktur zu stark verloren Sad

Das ist der Code:
Code:
load('replay/replay.mat');  % X Y Z Koordinaten laden

y = Z1(100:579, 1900:1900);
t = Y1(100:579, 1900:1900);

y2 = smooth(y, 5);

figure('units','normalized','outerposition',[0 0 1 1]);
    hold on
        plot(t, y2,     'm')     % geglättet
%        plot(t, y,  'blue')     % nicht geglättet

        [ymax2,imax2,ymin2,imin2] = extrema(y2);
        plot(t(imax2),ymax2,'r*',t(imin2),ymin2,'c*')
    hold off

es muss die mat Datei aus dem anderen Post vorhanden sein !!

so schaut es dann aus:


Bildschirmfoto 2015-01-12 um 23.02.38.png
 Beschreibung:
geglättet mit 5


Bild ist auch im Beitrag zu sehen !!!

Download
 Dateiname:  Bildschirmfoto 2015-01-12 um 23.02.38.png
 Dateigröße:  17.36 KB
 Heruntergeladen:  597 mal

_________________

--
Anfänger, habe noch nie mit so was gearbeitet.
bitte um Verständnis.
Private Nachricht senden Benutzer-Profile anzeigen
 
Muecke82
Themenstarter

Forum-Century

Forum-Century



Beiträge: 100
Anmeldedatum: 10.06.13
Wohnort: Großraum Stuttgart
Version: GNU Octave V.7.1.0
     Beitrag Verfasst am: 12.01.2015, 23:14     Titel:
  Antworten mit Zitat      
OK das mit dem "findpeaks"geht deutlich einfacher als das andere Smile

jedoch habe ich hier das Selbe Problem Sad das ich zu viel der Punkte bekomme.
(Bild) der Code ist unten angehängt für das Bild.

jetzt stellt sich die Frage wie kann ich die Daten Glätten ohne das ich die Vakanten Großen Schluchten (Täler) verliere, denn ich sollte ja die Öffnungs Größe Später bestimmen könne, und wie Tief die Teller sind.


Code:
Code:
load('replay/replay.mat');  % X Y Z Koordinaten laden

data = Z1(100:579, 1900:1900);
%data = [25 8 15 5 6 10 10 3 1 20 7];

figure('units','normalized','outerposition',[0 0 1 1]);
    plot(data);

    pks = findpeaks(data);
    findpeaks(data)


Bild:

Bildschirmfoto 2015-01-12 um 23.13.47.png
 Beschreibung:
das ist das Bild aus dem Beitrag.

Download
 Dateiname:  Bildschirmfoto 2015-01-12 um 23.13.47.png
 Dateigröße:  23.35 KB
 Heruntergeladen:  557 mal

_________________

--
Anfänger, habe noch nie mit so was gearbeitet.
bitte um Verständnis.
Private Nachricht senden Benutzer-Profile anzeigen
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 12.01.2015, 23:27     Titel:
  Antworten mit Zitat      
hmm du köntest versuchen bei den gefunden peaks mittels
Code:
rauszufinden wie groß die diffenrenz zum nachbarn ist. damit kannst du vieleicht die randpunkte aufspüren. und dann dazwischen mit einem filter glätten oder auch mittels einer interpolation. man könnte da auch ein polynom dann reinlegen etc.
wichtig wäre wie gesagt erstmal die randpunkte genau zu idenfizieren das du nicht irgendwelche punkte dazwischen hast. an einer bruch kante wäre da zb die differenz zwischen dem vorgänger klein und dem nachfolger groß oder je nach dem ob es ein maximum oder ein minimum ist negativ oder positiv.
kleiner tip: minima werden bei negation der werte zu maxima Wink das kann manchmal helfen.
_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
Muecke82
Themenstarter

Forum-Century

Forum-Century



Beiträge: 100
Anmeldedatum: 10.06.13
Wohnort: Großraum Stuttgart
Version: GNU Octave V.7.1.0
     Beitrag Verfasst am: 12.01.2015, 23:36     Titel:
  Antworten mit Zitat      
Winkow hat Folgendes geschrieben:
hmm du köntest versuchen bei den gefunden peaks mittels
Code:
rauszufinden wie groß die diffenrenz zum nachbarn ist. damit kannst du vieleicht die randpunkte aufspüren. und dann dazwischen mit einem filter glätten oder auch mittels einer interpolation. man könnte da auch ein polynom dann reinlegen etc.
wichtig wäre wie gesagt erstmal die randpunkte genau zu idenfizieren das du nicht irgendwelche punkte dazwischen hast. an einer bruch kante wäre da zb die differenz zwischen dem vorgänger klein und dem nachfolger groß oder je nach dem ob es ein maximum oder ein minimum ist negativ oder positiv.
kleiner tip: minima werden bei negation der werte zu maxima Wink das kann manchmal helfen.


das geht alles in die Richtige Richtung, danke. werde ich nach und nach ausprobieren was zum Erfolg führt. danke dafür.

mir geht es nicht darum das schön sauber darzustellen sieden genau um die Rand Punkte wenn ich die habe dann muss ich auch nichts mehr glätten Wink

Denn ich benötige die Koordinaten Später
denn ich möchte das eine Fräße das teil nacharbeitet, jedoch ohne die Wölbung die das ganze teil hat also auf ein Flaches Stück Holz, dafür muss ich aber wissen welcher Fräskopf genommen werden muss (breite des Tales) und wie Tief der Fräskopf ins Holz hinein Fahren muss (Tiefe des Tales) dann ist natürlich noch wichtig wo das Tal ist als die Mitte des Tales ermitteln.

das mit den Glätten dachte ich nur das dann der Filter "findpeaks" nicht mehr so viel Punkte finden wird.

mit diff könnte ich aber schauen wie weit der Nächste Punkt weg ist und wenn der weiter all 3punkte weg ist dann merken Smile sonst nächsten suchen.
Code:


und dann die gefunden anzeigen lassen.
_________________

--
Anfänger, habe noch nie mit so was gearbeitet.
bitte um Verständnis.
Private Nachricht senden Benutzer-Profile anzeigen
 
Muecke82
Themenstarter

Forum-Century

Forum-Century



Beiträge: 100
Anmeldedatum: 10.06.13
Wohnort: Großraum Stuttgart
Version: GNU Octave V.7.1.0
     Beitrag Verfasst am: 13.01.2015, 00:21     Titel:
  Antworten mit Zitat      
kann man das "findpeaks" auch auf eine Matrix anwenden?

ich mache das ja immer nur für eine Linie gerade, das ist unheimlich schwer zu wissen die Linien vorne und dahinter ausschauen.

ich würde das gerne in der Darstellung vom "mesh" haben.

ist so was möglich?
so das er jede einzelne Linie durchgeht und dann die gefundenen Punkte mit hinein setzt?

dachte schon an eine For schleife oder so was.
und dann alle gefunden Punkte in eine Neue Matrix schreiben, die man dann wiederum drauf Plotten lassen könnte.

bin mir aber nicht sicher ob ich auf dem Richtigen weg bin Sad
_________________

--
Anfänger, habe noch nie mit so was gearbeitet.
bitte um Verständnis.
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 - 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.