|
|
Daten aus Plot extrahieren |
|
BlackTiger |

Forum-Anfänger
|
 |
Beiträge: 32
|
 |
|
 |
Anmeldedatum: 19.06.18
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 07.08.2018, 09:02
Titel: Daten aus Plot extrahieren
|
 |
Hallo zusammen,
mal wieder ne Frage
Ist es möglich aus einem Plot in bestimmten Zeitabständen (in meinem Fall alle 3 sek.) den entsprechenden Y-Wert auszugeben ?
Soll dann beispielsweise so aussehen:
x_Wert = [3, 6, 9, 12, 15, ....];
y_Wert = [y1, y2, y3, y4, ....];
EndVektor = [x_Wert, y_Wert];
Schon mal vielen Dank!
|
|
|
|
|
J0nas |

Forum-Century
|
 |
Beiträge: 208
|
 |
|
 |
Anmeldedatum: 10.09.15
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ab 2016a
|
 |
|
|
 |
|
Verfasst am: 07.08.2018, 09:09
Titel:
|
 |
Hi BlackTiger,
du gibst doch schon Parameter vor anhand derer der Plot erstellt wird. Dann kannst du deine Werte direkt aus den Eingangsvektoren auslesen?
Grüße
Jonas
_________________
1.) Ask Google & Matlab Documentation
2.) Ask gomatlab.de & Technical Support of MathWorks
3.) Go mad, your problem is unsolvable
|
|
|
BlackTiger |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 32
|
 |
|
 |
Anmeldedatum: 19.06.18
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 07.08.2018, 09:12
Titel:
|
 |
Das Problem dabei ist, dass diese dann ungerade sind , wie beispielsweise:
x_Vektor =
3,00711326114795
3,04674719294780
3,08663030287390
3,12676117814808
3,16713837882188
.
.
.
Und ich hatte iegentlich daran gedacht, dass es einfacher wäre wenn ich ausm Plot alle 3 Sekunden die Y-Werte extrahiere.
|
|
|
J0nas |

Forum-Century
|
 |
Beiträge: 208
|
 |
|
 |
Anmeldedatum: 10.09.15
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ab 2016a
|
 |
|
|
 |
|
Verfasst am: 07.08.2018, 09:16
Titel:
|
 |
Hi Blacktiger,
dann interpoliere dazwischen
Grüße
Jonas
_________________
1.) Ask Google & Matlab Documentation
2.) Ask gomatlab.de & Technical Support of MathWorks
3.) Go mad, your problem is unsolvable
|
|
|
BlackTiger |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 32
|
 |
|
 |
Anmeldedatum: 19.06.18
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 07.08.2018, 10:34
Titel:
|
 |
Ich versuche es momentan mit der Interpolation.
So wie ich es verstanden habe funktioniert die Funktion interp1 wie folgt:
x = [....];
y = [....];
a= [3,6,9,12,15,18,21,24,27,30];
test = interp1(x,y,a);
in "test" werden nun die y-Werte abgespeichert, die an den Stellen 3,6,9... vorliegen.
Wenn ich das nun so machen bekomme ich folgende Fehlermeldung:
"The grid vectors are not strictly monotonic increasing."
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.497
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 07.08.2018, 11:17
Titel:
|
 |
Hallo,
die Meldung bezieht sich auf x. Leider schreibst du nicht, was x bei dir ist.
Jedenfalls ist es kein strictly monotonic increasing Vektor wie erforderlich.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
BlackTiger |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 32
|
 |
|
 |
Anmeldedatum: 19.06.18
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 07.08.2018, 13:10
Titel:
|
 |
der Vektor x ist ein Geschwindigkeitsvektor, und die y-Werte sind Radmomente.
ist also kein Linearer Verlauf. Daher hatte ich auch daran gedacht, dass ganze ausm Plot zu extrahieren.
|
|
|
J0nas |

Forum-Century
|
 |
Beiträge: 208
|
 |
|
 |
Anmeldedatum: 10.09.15
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ab 2016a
|
 |
|
|
 |
|
Verfasst am: 07.08.2018, 13:13
Titel:
|
 |
Hallo BlackTiger,
es muss auch nicht linear sein. Nur x muss monoton steigend sein!
Grüße
Jonas
_________________
1.) Ask Google & Matlab Documentation
2.) Ask gomatlab.de & Technical Support of MathWorks
3.) Go mad, your problem is unsolvable
|
|
|
BlackTiger |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 32
|
 |
|
 |
Anmeldedatum: 19.06.18
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 07.08.2018, 13:15
Titel:
|
 |
verstehe, aber ist halt auch nicht monoton steigend!
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.497
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 07.08.2018, 13:19
Titel:
|
 |
Hallo,
dann ist Interpolation aber nun mal nicht sinnvoll. Wenn du beispielsweise eine Art ansteigende Sinusschwingung hast, welcher Abschnitt soll denn dann für die Interpolation genommen werden?
Wenn die Reihenfolge der Geschwindigkeiten nicht relevant sein sollte, dann kannst du sie sortieren (und die Momente natürlich entsprechend mit).
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
J0nas |

Forum-Century
|
 |
Beiträge: 208
|
 |
|
 |
Anmeldedatum: 10.09.15
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ab 2016a
|
 |
|
|
 |
|
Verfasst am: 07.08.2018, 13:21
Titel:
|
 |
Dann musst du wohl die Vektoren erst sortieren, so dass x monoton steigend ist (und den y-Vektor entsprechend anpassen).
Grüße
Jonas
EDIT: Der Meister war mal wieder flotter unterwegs
_________________
1.) Ask Google & Matlab Documentation
2.) Ask gomatlab.de & Technical Support of MathWorks
3.) Go mad, your problem is unsolvable
|
|
|
BlackTiger |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 32
|
 |
|
 |
Anmeldedatum: 19.06.18
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 08.08.2018, 09:23
Titel:
|
 |
und meint ihr nicht, dass es eventuell einfacher wäre dass ganze über den Plot zu realisieren ?
Weil, wenn ich mich richtig informiert habe, besteht ja die Möglichkeit ausm Plot Daten zu extrahieren mit der folgenden Funktion:
h = findobj(gca,'Type','line')
x=get(h,'Xdata')
y=get(h,'Ydata')
Hierbei erhalte ich aber wieder "ungerade" Werte entsprechend meiner Datenpunkte.
Gibt es hierbei nicht die Möglichkeit zu sagen, dass ich alle 3 Sekunden die Y-Werte haben möchte?
Gegebenenfalls muss ich es ja mit der Sortierung machen.
|
|
|
J0nas |

Forum-Century
|
 |
Beiträge: 208
|
 |
|
 |
Anmeldedatum: 10.09.15
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ab 2016a
|
 |
|
|
 |
|
Verfasst am: 08.08.2018, 09:37
Titel:
|
 |
Hi BlackTiger,
mit
get
erhältst du nur die Eingangswerte die für das Plotten verwendet wurden. Dir wird vermutlich nichts anderes übrig bleiben als die Vektoren zu sortieren. Als kleiner Tipp: Füge die beiden Vektoren erst zu einer Matrix zusammen, dann kannst du die Matrix nach deiner x-Spalte (oder -Reihe, je nachdem wie die Vektoren aussehen bzw. die Matrix aussieht) sortieren. Anschließend wieder in die einzelnen Vektoren speichern, oder gleich als Matrix stehen lassen. Macht das ganze etwas einfacher.
Grüße
Jonas
_________________
1.) Ask Google & Matlab Documentation
2.) Ask gomatlab.de & Technical Support of MathWorks
3.) Go mad, your problem is unsolvable
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.497
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 08.08.2018, 10:03
Titel:
|
 |
Hallo,
die Daten, die du aus dem Plot extrahierst, sind genau die Daten, mit denen du den Plot erzeugt hast. Das bringt dich also nicht weiter.
Meine Empfehlung wäre weiterhin die vom 7.8., 13:19.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
BlackTiger |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 32
|
 |
|
 |
Anmeldedatum: 19.06.18
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 08.08.2018, 11:04
Titel:
|
 |
Vielen Dank für die - wie immer sehr schnellen und hilfreichen Antworten. Echt top!
Habe das ganze aber etwas gelöst - auch wenn es nicht so genau sein sollte.
Hab den Geschwindigkeitsverktor einfach auf 1 bzw. 2 Nachkommastellen gerundet und mit einer schleife die entsprechenden Y-Werte rausgesucht. Alles in eine neue Matrix gepackt und fertig ist
Wie gesagt, ist zwar nicht so genau wie als wenn ich das mit der Sortierung gemacht hätte, aber den minimalen Fehler darf ich mir erlauben.
Thanks !
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
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
| 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.
|
|