PDA

查看完整版本 : [MATLAB数学相关] 对于polyfit函数的一点理解


hnpency
2012-07-31, 05:55
多项式拟合数据的情况,我们常用polyfit函数来进行拟合,简单方便。但是这种拟合方法,多项式的次数必然是依次递减的,如果我采用的多项式为以下这种,y=a*x^6+b*x^5+c*x^4+d*x^3+e*x+f,此多项式没有二次项,polyfit函数就不适用了。再如果之前的多项式次数均是整数,我如果将它改变一下,y=a*x^6+b*x^5+c*x^4+d*x^3+e*x^2.5+f*x+g,polyfit函数同样不适用了。我曾经想过直接运用基本概念编个程序,使各个数据点到拟合曲线垂直距离最短,来解决类似问题。但是这种问题,我也想过直接在matlab里面找答案,但是还没找到。不知道我这样理解的对不对?欢迎批评指教!

未注册
2012-08-13, 20:10
你这个有指数项,就不能说是多项式拟合了,第一种方法可以用高数里面的最小二乘的方法拟合;第二种方法是可以直接用matlab里面的拟合工具箱,自己输入该函数进行拟合,该工具箱是cftool,在命令窗口直接输入cftool即可,可以下教程看。

未注册
2012-08-13, 20:12
看错了,是多项式,可以用cftool