下午好, 我在Matlab中有这个代码绘制一个2 y轴曲线,也称为plotyy。我有兴趣找出为什么我会得到两条曲线而不是一条曲线,即使它们正在绘制相同的曲线?
r=1.1;
M=0.00063291;
D=-0.05;
kappa=0.5;
SQ=sqrt(-(0.5*D)^2 +M);
L=1001.6288;
z=0:0.001:L;
A=-kappa*SQ.*(z-L);
B=((sqrt(M)*r)+(D/2))/(SQ);
C=acot(B);
E=SQ*cot(A+C);
Pplus=E-(D/2);
Pminus=M./Pplus;
P0=Pplus+Pminus+D;
gamma=20;%\W\km
Pp=0.3159;
A=gamma.*Pp;%\W
y1=kappa.*1000.*(Pplus+Pminus);
y2 =y1./A;
figure
hax=axes;
[ax,p1,p2] = plotyy(z,y1,z,y2,'plot','plot');
set(ax,{'ycolor'},{'k';'k'})
set(ax,{'fontsize'},{18;18})
set(p1,'linewidth',3)% to change the first line
set(p2,'linewidth',3) % to change the second line
set(p1,'Color','b')% to change the first line
set(p2,'Color','b') % to change the second line
str = sprintf('D = %.6f ',D);
title(str);
ylabel(ax(1),'K_{SBS}(km)','fontsize',18,...
'Color','k') % label left y-axis
ylabel(ax(2),'K_{SBS}( \gamma P )','fontsize',18,...
'Color','k') % label right y-axis
xlabel(ax(2),'z(m)','fontsize',18,...
'Color','k')% label x-axis
set(ax(1),'XLim',[0 L])
set(ax(2),'XLim',[0 L])
% M=0.000576;
% D=-0.0468;
% L=1012.1779;
% Pp=0.5;
但是,如果我选择代码的最后4行中找到的值,我不会那样做。我只是想知道为什么? 谢谢
答案 0 :(得分:1)
这些线条彼此重叠,因为您的y轴具有不同的限制和范围。将它与代码中的值一起使用,看看我的意思:
>
虽然我必须说我看不出任何意义。