分享

Matlab中的将几条曲线画在一个坐标系下的方法

 等缘708 2012-05-04
Matlab中的将几条曲线画在一个坐标系下的方法
2008-11-16 21:08

subplot:这个函数可以在同一个窗口内画几幅图,但是不在一个坐标系下

如果在一个坐标系下的话,目前我找到了三种方法:

(1)用hold on和hold off,画好第一幅图后,用hold on 语句就可以接着在该坐标系下画出其他的曲线图形,画完后再用hold off结束

(2)建一个m行n列的矩阵,每一行代表一条曲线,然后再用一般的画图方法,如plot()函数就可以了

(3)可以直接将两条曲线直接写入plot函数的参数里,

    例如 x=linspace(0,2*pi,100);
          y=sin(x);
          plot(x,y);
          z=cos(x);
          plot(x,y,x,z);

另外,还学会了一些其他的函数

axis用于限定x轴和y轴的范围

semilogy其纵坐标以10的指数为单位

text在指定的坐标上写入文本

这几天的画的第一幅图:

%瑞利衰落下选择合并的中断率
M=[1 2 3 4 10 20];
initial_r=-10;
final_r=40;
r_step=0.25;
r_in_dB=initial_r:r_step:final_r;
v=zeros(length(M),length(r_in_dB));
for j=1:length(M),
    for i=1:length(r_in_dB),
        r=10^(r_in_dB(i)/10);
        Pout(i)=(1-exp(-1/r))^M(j);
    end;
    v(j,:)=Pout;
end;
semilogy(r_in_dB,v);
title('瑞利衰落下选择合并的中断率');
xlabel('');
ylabel('Pout');

axis([initial_r,final_r,v(1,length(r_in_dB)),v(1,1)]);

%添加每条线的说明
hold on;
text(27,0.003,'M=1');
text(15,0.002,'M=2');
text(11,0.0008,'M=3');
text(8.6,0.000415,'M=4');
text(3.2,0.00022,'M=10');
text(0,0.000115,'M=20');
hold off;


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多