如何更正代码以在一个图形中将所有函数的图形组合在一起?

时间:2015-01-12 14:34:29

标签: matlab function math sequence

这与我的一个老问题有关。我试图在f_k(t)=t+k中绘制函数1<=k<=10的图形,但每当我编写以下代码时

syms t; k=1;
 while k<=6; f_k(t)=k+t; ezplot(f_k,[0,5]); k=k+1; end;

它运行得很完美,只给我f_6(t)=t+6的图表。我检查了替换6乘10,同样的事情发生。我检查了代码,无法检测到任何逻辑错误。我也试过1)在while循环中使用@(t)和函数命令,2)也使用for循环,但由于还有其他错误,因此无法绘制。

a)我的代码究竟出了什么问题? b)如何在没有最小修正的情况下解决这个问题?

1 个答案:

答案 0 :(得分:2)

每次拨打ezplots时,都会覆盖当前数字。调用hold on以便在代码之后不会覆盖该数字以及hold off以允许再次覆盖。

此外,我建议使用for循环而不是while。

syms t;
hold on;
for k=1:6
    f_k(t)=k+t;
    ezplot(f_k,[0,5]);
end
hold off