Verfasst am: 04.01.2010, 21:35
Titel: plotyy darstellung nicht korrekt
Hallo,
habe Probleme bei plotyy mit der Achsenskalierung
Ich würde gerne auf der einen Seite den Strom und auf der anderen Seite die Leistung darstellen.
Die X-Achse (die Spannung) sollte gleich bleiben, aber es sieht so aus als würden die X-Werte nicht richtig dargestellt.
Zusätzlich würde ich auch die Y-Achsen richtig skalieren.
Ich krieg das so nicht hin.
Was mache ich falsch?
Code:
U= (0:0.01:50)';
% Kurzschlussstrom ik = iph
Iph=1.3;
% Sperrsättigungsstrom is Is=10e-10;
% Temperaturspannung ut
Ut=25.7e-3;
plotyy liefert (u.a.) die Handles für die zwei Achsenkreuze zurück, die übereinanderliegen. axis (ohne Angabe des Handles) manipuliert nur eine davon.
Folgendes setzt beide Achsen gleich:
Code:
U= (0:0.01:50)';
% Kurzschlussstrom ik = iph
Iph=1.3;
% Sperrsättigungsstrom is Is=10e-10;
% Temperaturspannung ut
Ut=25.7e-3;
Hoffe, das hilft schon mal weiter. Wenn die y-Achsen unterschiedlich skaliert werden sollen, muss axis natürlich zweimal aufgerufen werden, einmal mit hAxes(1), einmal mit hAxes(2).
gelungen. Aber damit muß man aufpassen, sonst würfelt es die Skalierung der X-Achse durcheinander. Ich denke, das ist eine schlechte Lösung von mir. Vielleicht weißt Du da ne bessere Möglichkeit?
So sieht mein verbesserter code jetzt aus.
Code:
U= (0:0.001:0.57)';
% Kurzschlussstrom ik = iph
Iph=2.98;
% Sperrsättigungsstrom is Is=10e-10;
% Temperaturspannung ut
Ut=25.7e-3;
% Anzeige des Graphen
hAxes=plotyy(U,I,U,P);
% Gitter anzeigen grid on;
% Bezeichnung der Kurve % legend('I=f(U)'); % Titel der Kurve title('I-U-Kennlinie einer idealen Solarzelle ')
% Festlegung der ersten Y-Achse axes(hAxes(1));
% Beschriftung der ersten Y-Achse (Ordinate) ylabel('Zellenstrom I in [A]') set(hAxes(1),'YLim',[03])
% Festlegung der zweiten Y-Achse axes(hAxes(2));
% Beschriftung der ersten Y-Achse (Ordinate) ylabel('Leistung P in [W]') set(hAxes(2),'YLim',[01.5])
% Beschriftung X-Achse (Abszisse) xlabel('Zellenspannung U in [V]')
habe grad ebenfalls ein Problem mit der Skalierung. Nur möchte ich ein plotyy verwenden bei dem beide Y-Achsen exakt die gleiche Skalierung haben und das möchte ich in folgenden Code einbinden:
Möglich, dass ich mal wieder den Wald vor lauter Bäumen nicht sehe...
Wie kann ich bei einem plotyy einen Graphen z.B. den der linken Seite skalierten ersetzten und den andere beibehalten? Wenn ich durch eine IF Schleife eine Seite ersetzten will (hold on, damit Werte beibehalten werden) schreibt er diesen zwar neu ins Diagramm, der alte bleibt aber erhalten und somit habe ich dann drei...
Screenshot, zeigt die Achsenskalierung eines plotyy. Die Skalierung beider Achsen soll identisch sein über den ganzen Diagrammbereich, das ist sie auf einer Seite aber nicht, sie reicht nur über den Bereich in dem sich der betreffende Graph im Diagramm befindet.
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.