作了一个循环命令,如何用matlab画出曲线?for x=5:20 y=P1.*x+P2+P3./x+P4./x^2+P5./x^3-2.*P6.*x.*(1-B2./x^3)^0.5end如何用matlab画出关于x、y的曲线,用plot(x、y)只画出了一个点

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/05 00:54:31
作了一个循环命令,如何用matlab画出曲线?for x=5:20 y=P1.*x+P2+P3./x+P4./x^2+P5./x^3-2.*P6.*x.*(1-B2./x^3)^0.5end如何用matlab画出关于x、y的曲线,用plot(x、y)只画出了一个点

作了一个循环命令,如何用matlab画出曲线?for x=5:20 y=P1.*x+P2+P3./x+P4./x^2+P5./x^3-2.*P6.*x.*(1-B2./x^3)^0.5end如何用matlab画出关于x、y的曲线,用plot(x、y)只画出了一个点
作了一个循环命令,如何用matlab画出曲线?
for x=5:20
y=P1.*x+P2+P3./x+P4./x^2+P5./x^3-2.*P6.*x.*(1-B2./x^3)^0.5
end
如何用matlab画出关于x、y的曲线,用plot(x、y)只画出了一个点

作了一个循环命令,如何用matlab画出曲线?for x=5:20 y=P1.*x+P2+P3./x+P4./x^2+P5./x^3-2.*P6.*x.*(1-B2./x^3)^0.5end如何用matlab画出关于x、y的曲线,用plot(x、y)只画出了一个点
figure
hold on
for x=5:20
y=P1.*x+P2+P3./x+P4./x^2+P5./x^3-2.*P6.*x.*(1-B2./x^3)^0.5
plot(x,y)
end
hold off
上面程序既可以实现,matlab中的plot这个命令 是根据figure属性中的Nextplot来选择替换NextPlot = replace还是保留原来的点并增加新的点(NextPlot = add),默认情况下使用完一次plot后Nextplot都变成replace,如果想保留原来的点并增加新的点那么一开始就得将NextPlot始终设置成add,matlab考虑到会有这样的情况发生 所以设置了一个直接语句 hold on使得可以逐次使用plot.
在你画完点之后 记得 hold off 哦 这个看似可以不要的语句 有的时候 却十分必要 ,至于怎么使用图形句柄来控制figure的属性 那得需要你自己好好学习了.不太难
PS(多次调用plot以点绘线其实是不划算的 (在时间复杂度上) 尽可能用矩阵的形式来做你想做的事)
上述问题 其实是x是一个矩阵,那么通过矩阵的运算必定可以得到相应的矩阵y,然后直接用一次plot(x,y),即可以将整个曲线画出来.
当然如果你想做演示程序的话 那么 逐点描绘是必要的,并且你还得自己添加一个延迟函数 pause(t);%% t是数字 单位是s 表示延迟多少秒