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

Mehrer Plots auf 2-Y Achsen

 

Eid
Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 30.11.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.11.2012, 18:32     Titel: Mehrer Plots auf 2-Y Achsen
  Antworten mit Zitat      
Hallo,

ich möchte 2 Plots auf zwei Y-Achsen einzeichnen
[AX,H1,H2]=plotyy(Va,Ia,Va,Pa);

und danach möchte ich die Punktepaare

(Va(mpp), Ia(mpp)) auf der linken Achse und (Va(mpp), Pa(mpp)) auf der rechten Achse plotten.

Va, Ia, Pa sind Vektoren.

Könnt ihr mir dabei weiterhelfen?

Vielen Dank
Private Nachricht senden Benutzer-Profile anzeigen


keywee
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 64
Anmeldedatum: 29.11.12
Wohnort: Berlin
Version: R2012a
     Beitrag Verfasst am: 01.12.2012, 03:41     Titel:
  Antworten mit Zitat      
Klingt sehr nach Solarzelle Smile

Code:
clear all, clc

   
Spannung = (1:1:10);
Strom  = randi([0,10],[1,10]);
Leistung  = randi([0,10],[1,10]);

% Create a plot with 2 y axes using the plotyy function
figure;
[ax, h1, h2] = plotyy(Spannung, Strom, Spannung, Leistung, 'plot', 'plot');

% Add title and x axis label
title('Solarkennlinie');
xlabel('Spannung');

% Use the axis handles to set the labels of the y axes
set(get(ax(1), 'Ylabel'), 'String', 'AMPERE');
set(get(ax(2), 'Ylabel'), 'String', 'POWER');




Und die Maximum Power Points kannst du abfragen! Sprich wenn Leistung Maximal dann gebe IMax und UMax als Datenpunkt raus.

MPP=max(Leistung)

Die kannst du dann wahlweise ueber die hold funktion in deinen graphen nachtraeglich eintragen z.b als vertikale oder horizontale linie
Private Nachricht senden Benutzer-Profile anzeigen
 
Eid
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 30.11.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.12.2012, 14:33     Titel:
  Antworten mit Zitat      
Hallo,

danke für deine Antwort, aber es hat bei mir leider nicht funktioniert.

Das Problem mit der Verwendung des "hold on" Befehls ist, dass alle Plot-Befehle mit der gleichen Skala ausgeführt wurden.

Aber was ich auf der anderen Seite wirklich brauche ist:

(1) Auf der linken Y-Achse (mit YLimit: [0 10] als Beispiel)
plot(Va,Ia); %% I-V Kennlinie
plot(Va(mpp),Ia(mpp),'ro'); %% MPP Punkt auf der I-V Kennlinie

(2) Auf der rechten Y-Achse (mit YLimit: [0 300] als Beispiel)
plot(Va,Pa); %% P-V Kennlinie
plot(Va(mpp),Pa(mpp),'ro'); %% MPP Punkt auf der P-V Kennlinie

Siehe bitte das Bild im Anhang.

Vielen Dank!

ivcurve.png
 Beschreibung:
So wird es ungefähr aussehen, aber nur mit 2 Kurven, eine I-V Kennlinie und eine P-V

Download
 Dateiname:  ivcurve.png
 Dateigröße:  25.21 KB
 Heruntergeladen:  678 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
keywee
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 64
Anmeldedatum: 29.11.12
Wohnort: Berlin
Version: R2012a
     Beitrag Verfasst am: 16.12.2012, 13:36     Titel:
  Antworten mit Zitat      
die limits musst du natuerlich editieren ansonsten kannst du hiermit genau das machen was das bild darstellt ich hab es eben mal an einer IV-Kennlinie von mir getestet!

Code:
% Create a plot with 2 y axes using the plotyy function
figure;
[ax, h1, h2] = plotyy(Spannung, Strom, Spannung, Leistung, 'plot', 'plot');
set(ax(1), 'ylim', [0 20])
set(ax(2), 'ylim', [0 10])
set(ax(1),'YTick',0:20)
set(ax(2),'YTick',0:0.5:10)
xlim(ax(1),[0 1]);
xlim(ax(2),[0 1])


hold on
[ax, h1, h2] = plotyy(Vmpp, Impp, Vmpp, Vmpp*Impp);
set(ax(1), 'ylim', [0 20])
set(ax(2), 'ylim', [0 10])
set(ax(1),'YTick',0:20)
set(ax(2),'YTick',0:0.5:10)
xlim(ax(1),[0 1]);
xlim(ax(2),[0 1])
hold on
set(h1,'linestyle','none','marker','o');
set(h2,'linestyle','none','marker','^');

% Add title and x axis label
title('Solarkennlinie');
xlabel('Spannung');

% Use the axis handles to set the labels of the y axes
set(get(ax(1), 'Ylabel'), 'String', 'Current [mA]');
set(get(ax(2), 'Ylabel'), 'String', 'Power [mW]');
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.