根据多项式用MATLAB画曲线

如题所述

x=0:0.1:10;

y=x.^3+x;

plot(x,y);

Matlab画图的命令一般用plot,其基本原理是把散点连起来构成图像。所以,画二维图时,plot的参数中需要有x,y轴的数据。

常见的拟合曲线有多项式的、指数的、对数的等等。curve fitting程序提供了很多的方法。你可以根据自己的数据具体选择。

扩展资料:

matlab polyfit 做出来的值从左到右表示从高次到低次的多项式系数。

例子:

x = (0: 0.1: 2.5)';

y = erf(x);

p = polyfit(x,y,6)

p =

0.0084 -0.0983 0.4217 -0.7435 0.1471 1.1064 0.0004

则y=0.0084x^6-0.0983x^5+0.4217x^4-0.7435x^3+0.1471x^2+1.1064x+0.0004

参考资料来源:百度百科-matlab polyfit

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-06-01

举个简单的方式:

如fplot('x^4+x^3+3*x+10',[-5 10])前面为多项式,后面为x的取值范围。

运行结果见图。但愿对你有帮助。

追问

http://www.salebaowang.com/about/1.jpg
http://www.salebaowang.com/about/2.jpg
http://www.salebaowang.com/about/3.jpg
麻烦您看下这几个图,怎么才能画出X1和X2的曲线呢

追答

那要看你要画关于哪个变量的,只有一个变量(横坐标),另外都是知道,就可以了

第2个回答  2017-10-12
建议用fplot函数,基本形式为fplot(@(x)function,xinterval)其中function就是你要画的函数
xinterval就是x的范围,默认是[-5,5]。需要注意的是跟数学上的表示不太一样
例如要话画x^2-x+2这个函数,在function里应该写x.^2-x+2若直接写x^2就会出现错误(对每个元素都平方而不是让x与x相乘
第3个回答  推荐于2017-11-24
例如做y=x^2+3*x+5;的图形
这个多项式的系数矩阵为[1 3 5],从高次到低次
x=1:0.5:30;
y=polyval([1 3 5],x);
plot(x,y)追问

http://pic.wenwen.soso.com/p/20110601/20110601133216-422530688.jpg
http://pic.wenwen.soso.com/p/20110601/20110601133301-1083521785.jpg
http://pic.wenwen.soso.com/p/20110601/20110601134516-1889691796.jpg
麻烦您看下这几个图,怎么才能画出X1和X2的曲线呢

追答

你的图片我打不开

追问

http://www.salebaowang.com/about/1.jpg
http://www.salebaowang.com/about/2.jpg
http://www.salebaowang.com/about/3.jpg
麻烦您再看一下

追答

大概方法是你把那些方程的已知数全带进去,最后应该可以得到类似y=f(x)的等式,你把这个等式按照matlab的语法输到matlab中,令x=1:300,就可以得到对应的y,在plot(x,y)就行了。
不过等式一定要输对,方法就是这样。

本回答被提问者采纳