Verfasst am: 23.04.2009, 14:50
Titel: Plot mit zwei Y-Achsen
Hallo,
ich habe eine Messreihe in der Form:
x y1 y2
wobei diese jeweils 100 Zahlen enthalten.
y1 und y2 sind von der Größenordnung sehr verschieden, sodass ich in einem normalen plot y2 nur als Linie erkennen kann. Gibt es eine Möglichkeit einen Plot zu erstellen, indem x auf der horizontalen Achse, y1 links vertikal und y2 rechts vertikal aufgetragen werden?
Danke
Ich habe 2 Varibalen z.B.
A -> Geschwindigkeit über Zeit
B -> Verbrauch über Zeit
Nun möchte ich dass ich Diagramm A und B gemeinsam in ein Diagramm übereinander liegen.
Links auf Y Achse die Gesch. und rechts auf der Y Achse der Verbrauch
Habe nun nur noch das Problem, dass die X Achse nicht die richtige Zeit darstellt.
Es sollte der NEFZ Zyklus bis 1200s dargestellt werden.
Die Zeit geht aber von 0 bis 2500s
Nun muss ich nur noch herusfinden, wie ich auf den y Achsen Zwischenskalierungen bekomme. Schaff ich aber alleine hfftl.
Grüße
Evolution3
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 29.04.2009, 10:05
Titel:
Sooo, nun passt es , FAST
Habe nun noch 2 Fragen:
1) Im Moment sieht das Schaubild so aus, dass die linke y-Achse auch auf der rechten Y-Achse unterteilt wird. Nur ohne Beschriftung
Sieht eben unschön aus
2) Die x Achse sollte eigentlich nur von 0 bis 1190s gehen.
Ich frage mich woher das Zeitinterball von 0 bis 2500s herkommt.
zu 2) x1 bzw. x2 skalieren, dass was da angezeigt wird sind einfach nur die Elementnummern und die haben bekanntlich keine Einheit. Du musst also die Zeit rausfinden, die von einem Messpunkt zum nächsten vergangen ist und damit die Achse skalieren.
_________________
>> why
The computer did it.
Evolution2
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 29.04.2009, 10:25
Titel:
Hab mich mal angemeldet,. Dann kann ich auch editieren
1) Schreibe ich box on, so wird die rechte y Achse auch auf der linken Y Achse abegildet.
Allerdings passiert bei box off leider nichts.
EDIT: Passts nun. An der falschen Position hingeschrieben
2) Stimmt, macht Sinn
Gemessen wird jede Sek. Bzw. ich gebe den Zyklus in einem Textfile vor.
Zu jeder Sek eine Geschw.
Von 0 bis 1190
Probier ich gleich aus.
Die Grenzen kann ich ja auch durch
set(gca,'XLim',[0 1200]);
festlegen
Aber dann dürfte die Zeit nicht mehr mit der Geschw. übereinstimmen
EDIT:
das length gibt mir nur die Anzahl an
Hab jetzt versucht das so zu lösen:
x1=set(gca,'XLim',[0 1190]);
x2=set(gca,'XLim',[0 1190]);
??? Error using ==> set
One or more output arguments not assigned during call to "set".
mmmh schade, geht nicht
Evolution2
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 29.04.2009, 12:26
Titel:
Letztes Mal hoffentlich zu diesem Thema. Sorry
Hab nun alles so hinbekommen, wie ichs woll.
Jedoch habe ich immer noch nicht erreicht, dass die X Achse von
o bis 1190 bzw 1200 s angezeigt wird.
Hab schon einige Sachen ausprobiert, die jedoch nicht zum Ziel geführt haben
Was muss ich anstatt diesem Code hinschreiben ?
x1=1:length(y1);
Du musst ja 2500 Messwerte haben und die wurden in einem zeitlichen Abstand aufgenommen. Wenn du die x-Vektoren mit diesem Abstand multiplizierst, erhälst du eine richtig skalierte Zeitachse.
_________________
>> why
The computer did it.
Evolution2
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 29.04.2009, 12:44
Titel:
Da stimmt was nicht.
Letzten Endes gebe ich den Zyklus über eine Textdatei vor
Zeit Geschw
0 0
1 0
2 15
3 usw
4
.
.
.1191
Also habe ich 1192 Messpunkte. macht ja auch Sinn, da der Zyklus solange geht.
Wie der nun auf die 2500 kommt ist mir schleicherhaft.
Lasse ich die Variable v_cycle ausgeben sind allerdings auch 2500 Messwerte drin.
Ganz ganz komisch
EDIT:
Habs nun gelöst (denk ich doch
x1=x1*(1192/2361);
x2=x2*(1192/2361);
Der Zylus geht ja normalerweise von 0 bis 1191
Jedoch habe ich 2361 Messwerte
Vielen Dank für deine Unterstützung
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
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.