matlab polyfit 问题 在线等

来源:百度知道 编辑:UC知道 时间:2024/05/31 13:43:46
当我使用polyfit函数进行曲线拟合的时候,polyfit(X,Y,N),X,Y分别是有100个元素的数组,当N=3的时候没问题,当N>6的时候就出现问题:
In D:\MATLAB6p5\toolbox\matlab\polyfun\polyfit.m at line 75
In D:\MATLAB6p5\work\IRZOOM\cam1.m at line 7
Warning: Polynomial is badly conditioned. Remove repeated data points
or try centering and scaling as described in HELP POLYFIT.
(Type "warning off MATLAB:polyfit:RepeatedPointsOrRescale" to suppress this warning.)
> In D:\MATLAB6p5\toolbox\matlab\polyfun\polyfit.m at line 75
In D:\MATLAB6p5\work\IRZOOM\cam1.m at line 11

我对MATLAB不是很熟悉,请教各位?

大致意思是告诉你polyfit拟合中的数值不准确了吧,
不要用多项式拟合,用B样条拟合比较好。

用fda tool多方便,里面的curve fitting

如果可以的话应该把数据发上来看一下,可能相差得很多
另:warning不是error 应该有结果输出的,结果有问题吗

这个很正常啊。

因为polyfit基于最小二乘法,中间涉及除法运算。

除法运算的时候,要求是分母不能为0, 如果你的order很高,那么高阶的系数很有可能接近于0,那么除法运算就进行不下去了。

我用polyfit的时候,一般不超过5,说实话,超过5也没有意义了,说明已经是非常的非线性了。。

可能是你的初值有问题,换下你的初值吧。