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;