情节问题

时间:2016-05-20 03:42:16

标签: matlab plot matlab-figure figure

下午好, 我在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行中找到的值,我不会那样做。我只是想知道为什么? 谢谢

1 个答案:

答案 0 :(得分:1)

这些线条彼此重叠,因为您的y轴具有不同的限制和范围。将它与代码中的值一起使用,看看我的意思:

>

虽然我必须说我看不出任何意义。