plotyy 问题

Issue with plotyy

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

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

set(ax(1),'YLim',[25.072 25.472])
set(ax(2),'YLim',[3.97 4.03])

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