2015-01-12 173 views
0

从Van Loan的绘图工作科学计算导论。这是P1.2.4,以防有人想知道。我无法弄清楚为什么我的代码产生一个单一的情节。Matlab绘图,用一个脚本绘制多个图

x=linspace(0,2*pi, 30); 
for k=1:5 
plot(x, sin(k*x)); 

end 

好像我需要做

plot(x, sin(x), x, sin(2*x), x, sin(3*x)....) 

但是,这似乎是手工编码过量,有没有更优雅的方式?

回答

1

您可以在for循环中使用hold on。您还需要使用plot中的'Color'字段来制作不同颜色的图。在每次迭代中,只需选择0到1之间的随机数的三元组。

x=linspace(0,2*pi, 30); 
for k=1:5 
    plot(x, sin(k*x),'Color',rand(1,3));hold on; 
end 
hold off; 
1

要5个独立的地块?然后使用类似

for k=1:5 
figure 
plot(x, sin(k*x)); 
end 

或者所有情节在一个数字?在这种情况下使用“保持”

hold on 
for k=1:5 
plot(x, sin(k*x)); 
end 
hold off 

或第三方法:其中X和Y使用情节作为矩阵