matlab 中用subplot画图,为什么会丢失子图啊?
来源:学生作业帮 编辑:搜狗做题网作业帮 分类:综合作业 时间:2024/07/13 15:49:40
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
有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画图,为什么会丢失子图啊?](/uploads/image/z/2936166-6-6.jpg?t=matlab+%E4%B8%AD%E7%94%A8subplot%E7%94%BB%E5%9B%BE%2C%E4%B8%BA%E4%BB%80%E4%B9%88%E4%BC%9A%E4%B8%A2%E5%A4%B1%E5%AD%90%E5%9B%BE%E5%95%8A%3F)
你没搞清楚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
建议自己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