作业帮 > 综合 > 作业

matlab 中用subplot画图,为什么会丢失子图啊?

来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/05/10 00:48:58
matlab 中用subplot画图,为什么会丢失子图啊?
有5个分量,用subplot画在一个图里面,为什么第三分量会丢失?
如果把循环数改为4,只画4个,就没有问题了.求高手指点.
程序如下:
clc;
clear all;
close all;
t = 0:0.001:1;
s1 = sin(t);s2 = sin(2*t);s3 = sin(3*t);s4 = sin(4*t);s5 = sin(5*t);
s = [s1;s2;s3;s4;s5;];
i =5;
for j=1:i
if j==1; subplot(i/2+1,2,j,'Position',[0.05,0.7,0.42,0.2]);end
if j==2; subplot(i/2+1,2,j,'Position',[0.55,0.7,0.42,0.2]);end
if j==3; subplot(i/2+1,2,j,'Position',[0.05,0.4,0.42,0.2]);end
if j==4; subplot(i/2+1,2,j,'Position',[0.55,0.4,0.42,0.2]);end
if j==5; subplot(i/2+1,2,j,'Position',[0.05,0.1,0.42,0.2]);end
%subplot(i/2+1,2,j);
plot(t,s(j,:),'k'); xlabel(strcat('s',num2str(j)));
grid on;
end

matlab 中用subplot画图,为什么会丢失子图啊?
你没搞清楚subplot里参数的意义,所以出错
建议自己help subplot
简单修改即可运行,程序如下:
clc;
clear all;
close all;
t = 0:0.001:1;
s1 = sin(t);s2 = sin(2*t);s3 = sin(3*t);s4 = sin(4*t);s5 = sin(5*t);
s = [s1;s2;s3;s4;s5;];
i =5;
for j=1:i
if j==1; subplot(3,2,j,'Position',[0.05,0.7,0.42,0.2]);end
if j==2; subplot(3,2,j,'Position',[0.55,0.7,0.42,0.2]);end
if j==3; subplot(3,2,j,'Position',[0.05,0.4,0.42,0.2]);end
if j==4; subplot(3,2,j,'Position',[0.55,0.4,0.42,0.2]);end
if j==5; subplot(3,2,j,'Position',[0.05,0.1,0.42,0.2]);end
%subplot(i/2+1,2,j);
plot(t,s(j,:),'k'); xlabel(strcat('s',num2str(j)));
grid on;
end