我想使用for
循环来绘制函数。代码是
y = 0;
for k = 0:0.1:2
y = y + k;
plot(k, y);
hold on;
end
但是,通过运行代码,绘图窗口是空的!如何修复它以便在2D区域看到一条线?
答案 0 :(得分:3)
Matlab自动绘制给予plot
函数的点之间的线性插值。因此,由于您只给出一个点,因此不会发生插值。
您可以做的是保存旧的y
值和旧的x
值,让Matlab在这两点之间绘制线性插值。 e.g。
yold = 0; %Init
kold=0; %Init
for k = 0:0.1:2
y = yold + k; %New y value
plot([kold,k], [yold,y]); %Plot a linear interpolation
kold = k; %Save the new values as old
yold = y; %Same
hold on;
end
修改/注:强>
当在同一窗口中添加新图时,MATLAB会自动更改颜色,因此上面会给你一个彩虹,这很不错,但如果你想保持专业,你可以为plot命令添加一个颜色,例如
plot([kold,k], [yold,y],'blue');