我有以下问题,请帮我解决以下任务:
我想在matlab中创建依赖于循环变量的子图,例如我知道要创建情节菜单2X2,我们这样做
subplot(2,2,1)
subplot(2,2,2
)
subplot(2,2,3)
subplot(2,2,4)
但是我可以做线性形式吗?比如1:100?或类似的东西,更像是这样的
n=100;
for i=1:n
subplot(1,n,i)
非常感谢
编辑代码
function [order]=find_order(y,fs);
order=0;
n=length(y);
n1=nextpow2(n);
ndft=2^n1;
for i=1:floor(n/2)
[Pxx,f]=pburg(y,i,ndft,fs);
subplot(ndft,ndft,i);
plot(f,Pxx);
title(['order',num2str(i),'i']);
order=i;
end
end
picture :
我无法理解会发生什么
答案 0 :(得分:2)
1-D演示
<强>代码强>
%%// Data
t = 0:0.01:15*pi;
y1 = sin(t);
%%// Plot
figure,
for k=1:4
subplot(4,1,k)
plot(t((k-1)*1000+1:k*1000),y1((k-1)*1000+1:k*1000))
xlim([0 40])
end
<强>输出强>
2-D演示
<强>代码强>
%%// Data
t = 0:0.01:15*pi;
y1 = sin(t);
%%// Plot
colors=['r' 'g' ; 'y' 'k'];
figure,
for k1=1:2
for k2=1:2
subplot(2,2,(k1-1)*2+k2)
plot(t,y1,colors(k1,k2));
end
end
<强>输出强>
希望这些演示可以为您指导一些对您有意义的事情。
答案 1 :(得分:1)
是的,它是:
n=5;
for i=1:n
subplot(1,n,i)
end
给出
答案 2 :(得分:1)
for pat = 1:N%主循环
% Define the sublot grid
s1=3; % subplot rows
s2=3; % subplot columns
% find the figure number
fig_num=floor(pat/(s1*s2))+1 % Figure number
% Find the subplot number
sub_fig=mod(pat,s1*s2) % subplot number
% correct for corners
if(sub_fig==0)
sub_fig=s1*s2;
fig_num=fig_num-1;
end
% plot something
figure(fig_num);
subplot(s1,s2,sub_fig) ;
plot(1,1) % plot something
主循环的结束%