2016-05-09 6 views
-1

Guten Morgen, Ich versuche, diese Figur mit dem gleichen Code in Matlab zu plotten. Es funktioniert jedoch überhaupt nicht. Ich kann einfach nicht die gleiche Figur, sondern stattdessen Plotyy verwenden. Der Grund, warum ich es mit Plotyy brauche, ist, dass der Leser die Bedeutung der Zahlen der linken Hand versteht, indem er die gleiche Funktion aufträgt, aber mit einer Konstante multipliziert. Die rechte Seite wird Gain genannt und somit wird der Leser zumindest wissen, wie viel Gewinn für bestimmte Macht erreicht wird. Hier ist der Code:Zeichnen Sie die gleiche Figur in Plotyy

[![r=1:0.001:3; 
R=50; 
kappa=0.5; 
L1=1000; 
c1=R/(8*kappa*L1); 
Frmin=(r+r.^-1).*(r-1)./(r+1); 
Frmax=(r+r.^-1).*(atan(r)-atan(1./r)); 
P1min=c1.*Frmin;% the 1st function for the left hand side of plotyy 
P1max=c1.*Frmax;% the 2nd function for the left hand side of plotyy 
YYmin=P1min*20; % the 1st function for the right hand side of plotyy 
YYmasx=P1max*20;% the 2nd function for the right hand side of plotyy 
figure; 
ha1 = area(\[1 3\], \[0 M.*c1\]); 
hold on 
plot(r,P1min,'r','Linewidth',8) 
fill(\[r fliplr(r)\],\[P1min,fliplr(P1max)\],'y') 
plot(r,P1max,'k','Linewidth',5); 
hold off 
legend('\Delta >0','\Delta=0', '\Delta<0','Pmax') 
%,'900','800','700','600','500') 
xlabel('r') 
ylabel('P_p (W)') 
title('P_p vs r for L= 1000 m')][1]][1] 

Ich hoffe also, ich etwas Hilfe mit diesem bekommen. Ich könnte Ihnen einige meiner Versuche zeigen, Fehler zu versuchen, aber dann wäre ich nicht mein Ziel, das ist wieder die gleiche Figur mit den gleichen Farben, aber mit Plotyy. Danke und Entschuldigung für die lange Nachricht.

+0

Soll die erste Zeile 'r = 1: 0.001: 3 sein? '? Und in 'ha1 = Fläche (\ [1 3 \], \ [0 M. * c1 \]);', was meinst du? Und was ist M? Lass dein Beispiel funktionieren und ich kann dir vielleicht helfen. – JCKaz

Antwort

0

Ist das wonach Sie suchen?

Bearbeiten des Codes (das funktioniert):

r=1:0.001:3; 
R=50; 
kappa=0.5; 
L1=1000; 
c1=R/(8*kappa*L1); 
Frmin=(r+r.^-1).*(r-1)./(r+1); 
Frmax=(r+r.^-1).*(atan(r)-atan(1./r)); 
P1min=c1.*Frmin;% the 1st function for the left hand side of plotyy 
P1max=c1.*Frmax;% the 2nd function for the left hand side of plotyy 
YYmin=P1min*20; % the 1st function for the right hand side of plotyy 
YYmasx=P1max*20;% the 2nd function for the right hand side of plotyy 
figure; 
M = 1; 
ha1 = area([1 3], [0 M.*c1]); 
hold on 
plot(r,P1min,'r','Linewidth',8) 
fill([r fliplr(r)],[P1min,fliplr(P1max)],'y') 
plot(r,P1max,'k','Linewidth',5); 

Ihr Faktor und plotyy

myFactor1 = 5; 
[ax,~,~] = plotyy(r,P1min,r,myFactor1*P1min); 

Set-Achsen Farben schwarz und Steuer Schriftarten

set(ax,{'ycolor'},{'k';'k'},{'FontSize'},{8;15}) 

Rest Code, bearbeitet und funktioniert jetzt

legend('\Delta >0','\Delta=0', '\Delta<0','Pmax') 
xlabel('r') 
ylabel('P_p (W)') 
title('P_p vs r for L= 1000 m') 
+0

Vielen Dank für die Mühe und Hilfe. Ich möchte beide Y-Achsen in schwarzer Farbe anzeigen und ihre Schriftarten steuern. Ich habe versucht, die Funktion gca hinzuzufügen und ich konnte Farbe und Schrift ändern, aber aus irgendeinem Grund verliere ich die Handlung selbst. Irgendein Kommentar dazu? –

+0

Die Lösung wird zur Antwort hinzugefügt;) Ich würde mich freuen, wenn Sie die Antwort akzeptieren würden, wenn sie Ihr erstes Problem löst. Danke Kumpel! – JCKaz