Matlab,数字和循环

时间:2014-09-03 10:26:33

标签: matlab

我试图绘制以下简单函数; $ y = A. * x $具有不同的A参数值,即A = 0,1,2,3都在同一图上。我知道如何通过将x设置为linspace矢量来绘制简单函数,即$ y = x $,从而定义x = linspace(0,10,100);我知道可以使用hold命令。

我认为可以简单地使用for循环,但问题是获得一个图上所有排列的图,即我想要一个y = t,2 * t,3 * t,4 *的图。在同一个数字上。我的尝试如下:

x=linspace(0,10,100);

%Simple example
Y=x;

figure;
plot(Y);

%Extension
B=3;

F=B*x;

figure;
plot(F);

%Attempt a for loop
for A= [0,1,2,3] 
G=A*x;

end

figure;
plot(G);

1 个答案:

答案 0 :(得分:5)

这是我绘制你的for循环示例的方式:

figure;
hold all;
for A=[0,1,2,3] 
    G=A*x;
    plot(G);
end

figure创造了一个新的数字。 hold all表示后续绘图将显示在同一图上(hold all将为每个绘图使用不同的颜色,而不是hold on)。然后我们在循环中绘制G的每次迭代。

你也可以在没有循环的情况下完成。与Matlab中的大多数内容一样,删除循环应该可以提高性能。

figure;
A=[0,1,2,3];
G=x'*A;
plot(G);

G是两个向量xAx已转换为列向量)的外积。 plot用于绘制100x4矩阵G的列。