Matlab 多项式的条件很差

Matlab 多项式的条件很差,matlab,polynomials,data-fitting,Matlab,Polynomials,Data Fitting,我有以下数据: x = [0 5 10 15 20 25 30 35].'; y = [72.3 73.6 75.1 77.0 77.6 77.9 79.2 80.4].'; 当我输入此代码时: pg7 = polyfit(x,y,7); 出现以下警告,我不知道原因: 警告指出,可能存在与拟合过程相关的数值问题,因为您的x值未以0为中心,并且您使用的是确定的模型 使用曲线拟合工具cftool,可以看到居中和缩放与不居中之间的差异分别在拟合SSE为1.831e-24和6.664e-27之间 换

我有以下数据:

x = [0 5 10 15 20 25 30 35].';
y = [72.3 73.6 75.1 77.0 77.6 77.9 79.2 80.4].';
当我输入此代码时:

pg7 = polyfit(x,y,7);
出现以下警告,我不知道原因:


警告指出,可能存在与拟合过程相关的数值问题,因为您的x值未以0为中心,并且您使用的是确定的模型

使用曲线拟合工具cftool,可以看到居中和缩放与不居中之间的差异分别在拟合SSE为1.831e-24和6.664e-27之间

换句话说,在这种特定情况下,数据的居中和缩放实际上并不重要,可以安全地忽略警告


另一方面,除非你有充分的理由这样做,否则你可能不应该将最大可能次数多项式拟合到你的数据中,这被称为过度拟合,因为这被认为是捕获了噪声,而不是潜在的现象。考虑使用较小程度的多项式,例如6,等等。

< P>你试图在8个数据点上进行7阶多项式回归。这不是一个回归,而是一个插值,因为8个点唯一地决定了一个7阶多项式

因此,按照错误消息的指示,添加更多点或降低度

或者,如果确实在插值之后,则执行拉格朗日插值而不是拟合

Warning: Polynomial is badly conditioned. Add points with distinct X values, reduce the degree of the polynomial, or try
centering and scaling as described in HELP POLYFIT.