matlab编程中:for x=1:20 y=2*x; end plot(x,y)生成的图像没有曲线?在for语句的情况下,我的前提条件是在for语句里

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/04 11:46:35
matlab编程中:for x=1:20 y=2*x; end plot(x,y)生成的图像没有曲线?在for语句的情况下,我的前提条件是在for语句里

matlab编程中:for x=1:20 y=2*x; end plot(x,y)生成的图像没有曲线?在for语句的情况下,我的前提条件是在for语句里
matlab编程中:for x=1:20 y=2*x; end plot(x,y)生成的图像没有曲线?在for语句的情况下,
我的前提条件是在for语句里

matlab编程中:for x=1:20 y=2*x; end plot(x,y)生成的图像没有曲线?在for语句的情况下,我的前提条件是在for语句里
for x=1:20; y=2*x; end; plot(x,y)
如果是上面的代码的话,画出来只有一个点(这个点很小,在(20,40),你可以放大地看)
只画一个点的原因是:
for x=1:20; y=2*x;end;
每取一个x,都有一个y,但是后面的值,覆盖了前面计算的y
比如说:x=1,y=2;
x=2,y=4; %这里上一步计算的y=2已经被4覆盖.
到最后x=20,y=40;
解决的办法有两个:
for x=1:20
y=2*x;
plot(x,y);
hold on; %这个函数少不了,因为plot默认会擦掉上一次作的图,产生的图也只有最新的那个点.
end
%这个方法画出来的是20个点
还有一种作法,就是保存y
x=1:20;
for i=1:20
y(i)=2*x(i);
end
plot(x,y) %这个画出来的是线