主要内容

Polyfit.

多项式曲线配件

描述

例子

P.= polyfit(XyN返回多项式的系数p(x)学位N这是一个最适合(在最小二乘意义上)的数据y。系数P.处于下降的力量,以及长度P.n + 1

P. X = P. 1 X N + P. 2 X N - 1 + ...... + P. N X + P. N + 1

[P.S.] = Polyfit(XyN也返回一个结构S.可以用作输入多尔获取错误估计。

例子

[P.S.] = Polyfit(XyN也退货,这是一个具有居中和缩放值的两个元素矢量。穆(1)意思是(x), 和穆(2)std(x)。使用这些值,Polyfit.中心X在零并缩放它以具有单位标准偏差,

X ^ = X - X ¯ σ. X

这种定心和缩放变换改善了多项式和拟合算法的数值。

例子

全部收缩

在间隔中产生沿着正弦曲线同样间隔的10个点[0,4 * pi]

x = Linspace(0,4 * Pi,10);y = sin(x);

Polyfit.适合7度多项式到点。

p = polyfit(x,y,7);

评估更精细的网格上的多项式并绘制结果。

x1 = linspace(0,4 * pi);Y1 = Polyval(P,X1);图绘图(x,y,'o') 抓住绘图(X1,Y1)保持离开

图包含轴。轴包含2个类型的型号。

在间隔中创建5个等间隔点的矢量[0,1],并评估 y X = 1 + X - 1 在那些点。

x = linspace(0,1,5);y = 1./ (1 +x);

适合4度至5分的多项式。一般来说,对于N要点,你可以符合学位的多项式N-1完全通过点。

p = polyfit(x,y,4);

评估原始功能和多项式适合于0到2之间的点的细节。

x1 = linspace(0,2);Y1 = 1./(1+x1);F1 = Polyval(p,x1);

在更宽的间隔中绘制功能值和多项式拟合[0,2],用于获得突出显示为圆的多项式拟合的点。多项式合适的原始良好[0,1]间隔,但快速发散到该间隔之外的拟合功能。

图绘图(x,y,'o') 抓住绘图(X1,Y1)图(X1,F1,'r--') 传奇('是''y1''f1'

图包含轴。轴包含3个类型的线。这些对象表示Y,Y1,F1。

首先生成矢量X点,在间隔中同样间隔[0,2.5],然后评估ERF(x)在那些点。

x =(0:0.1:2.5)';Y = ERF(x);

确定近似多项式的近似多项式的系数。

p = polyfit(x,y,6)
P =1×7.0.0084 -0.0983 0.4217 -0.7435 0.1471 1.1064 0.0004

要查看适合的良好,请在数据点评估多项式并生成显示数据,适合和错误的表。

f = polyval(p,x);t =表(x,y,f,y-f,'variablenames',{'X''是''合身''fiterror'})
t =26×4表XyFit FitError ___ _______ __________ ___________ 0 0 0.00044117 -0.00044117 0.1 0.11246 0.11185 0.00060836 0.2 0.2227 0.22231 0.00039189 0.3 0.32863 0.32872 -9.7429e-05 0.4 0.42839 0.4288 -0.00040661 0.5 0.5205 0.52093 -0.00042568 0.6 0.60386 0.60408 -0.00022824 0.7 0.6778 0.67775 4.6383e-05 0.8 0.7421 0.74183 0.00026992 0.9 0.79691 0.79654 0.00036515 1 0.8427 0.84238 0.0003164 1.1 0.88021 0.88005 0.00015948 1.2 0.91031 0.91035 -3.9919e-05 1.3 0.93401 0.93422 -0.000211 1.4 0.95229 0.95258 -0.00029933 1.5 0.96611 0.96639 -0.00028097 ⋮

在这种间隔中,内插值和实际值相当密切合适。创建一个绘图以显示在这个间隔之外的情况下,外推的值从实际数据很快发出。

X1 =(0:0.1:5)';Y1 = ERF(X1);F1 = Polyval(p,x1);图绘图(x,y,'o') 抓住绘图(x1,y1,' - ')绘图(x1,f1,'r--')轴([0 5 0 2])保持离开

图包含轴。轴包含3个类型的线。

创建1750年至2000年的人口数据表,并绘制数据点。

年=(1750:25:2000)';POP = 1E6 * [791 856 978 1050 1262 1544 1650 2532 6122 8170 11560]';T =表(年,POP)
t =11×2表年POP __________ 1750 7.91E + 08 1775 8.56E + 08 1800 9.78E + 08 1825 1.052 + 09 1850 1.262E + 09 1875 1.544E + 09 1875 1.544C + 09 1900 1.65E + 09 1925 1.65E + 09 1925 2.532E + 09 1950 6.122E + 09 1950 6.122E + 09 19758.17E + 09 2000 1.156E + 10
情节(年,流行,'o'

图包含轴。轴包含类型线的对象。

Polyfit.有三个输出使用居中和缩放来符合5度多项式,这提高了问题的数值。Polyfit.为数据中心在0处并将其缩放为1的标准偏差,避免了拟合计算中的不良沃德美德矩阵。

[p,〜,mu] = polyfit(t.year,t.pop,5);

多尔有四个输入来评估P.随着规模的岁月,(年 - mu(1))/ mu(2)。绘制原始年份的结果。

F = Polyval(p,年,[],mu);抓住情节(年,F)持有离开

图包含轴。轴包含2个类型的型号。

将一个简单的线性回归模型适合一组离散的2-D数据点。

创建一些样本数据点的向量(x,y)。将第一度多项式适合数据。

x = 1:50;Y = -0.3 * x + 2 * randn(1,50);p = polyfit(x,y,1);

评估适合的多项式P.在点X。用数据绘制结果的线性回归模型。

f = polyval(p,x);绘图(x,y,'o',x,f,' - ') 传奇('数据''线性拟合'

图包含轴。轴包含2个类型的型号。这些对象代表数据,线性拟合。

将线性模型适合一组数据点并绘制结果,包括估计95%的预测间隔。

创建一些样本数据点的向量(x,y)。用Polyfit.适合数据的第一度多项式。指定两个输出以返回线性拟合的系数以及误差估计结构。

x = 1:100;y = -0.3 * x + 2 * randn(1,100);[p,s] = polyfit(x,y,1);

评估第一程度的多项式适合P.在点X。将误差估计结构指定为第三个输入,以便多尔计算标准错误的估计。标准错误估计返回三角洲

[y_fit,delta] = polyval(p,x,s);

绘制原始数据,线性拟合和95%的预测间隔 y ± 2 δ.

绘图(x,y,'博') 抓住plot(x,y_fit,'r-')绘图(x,y_fit + 2 * delta,'m--',x,y_fit-2 * delta,'m--') 标题('具有95%预测间隔的数据线性拟合') 传奇('数据''线性拟合''95%预测间隔'

图包含轴。具有95%预测间隔的具有95%预测间隔的标题线性拟合的轴包含4个类型的线。这些对象表示数据,线性拟合,95%预测间隔。

输入参数

全部收缩

查询点,指定为向量。要点X对应于包含的拟合功能值y。如果X不是矢量,然后Polyfit.将其转换为列向量X(:)

警告消息结果X重复(或几乎重复)点或如果X可能需要居中和缩放。

数据类型:单身的|双倍的
复数支持:金宝app是的

查询点的拟合值,指定为向量。价值y对应于包含的查询点X。如果y不是矢量,然后Polyfit.将其转换为列向量y(:)

数据类型:单身的|双倍的
复数支持:金宝app是的

多项式拟合程度,指定为正整数标量。N指定左最多系数的多项式功率P.

输出参数

全部收缩

最小二乘拟合多项式系数,作为向量返回。P.有长度n + 1并包含下降功率的多项式系数,功率最高N。如果是X或者y包含价值观和n ,然后是所有元素P.

多尔评估P.在查询点。

误差估计结构。此可选输出结构主要用作输入的输入多尔获取错误估计的功能。S.包含以下字段:

场地 描述
R. 三角形R.因子(可能允许)从Vandermonde矩阵的QR分解X
DF. 自由程度
诺考 残差的规范

如果数据y是随机的,然后是协方差矩阵的估计P.(rinv * rinv')* normr ^ 2 / df, 在哪里Rinv.是逆R.

如果数据中的错误y随着恒定方差,是独立和正常的,然后[y,delta] = polyval(...)产生至少50%的预测的错误界限。那是,y±三角洲包含至少50%的预测未来观察X

居中和缩放值,作为两个元素向量返回。穆(1)意思是(x), 和穆(2)std(x)。这些值中心查询点X以单位标准偏差为零。

作为第四个输入多尔评估P.在缩放点,(x - mu(1))/ mu(2)

限制

  • 在许多点的问题中,增加多项式拟合的程度Polyfit.并不总是导致更好的合适。高阶多项式可以在数据点之间是振荡,导致a适合数据。在这些情况下,根据问题,您可以使用低阶多项式拟合(在点之间趋于光滑)或不同的技术。

  • 多项式是无限的,自然的振荡功能。因此,它们不适合推断有界数据或单调(增加或减少)数据。

算法

Polyfit.用途X形成Vandermonde矩阵V.n + 1列和m =长度(x)行,导致线性系统

X 1 N X 1 N - 1 1 X 2 N X 2 N - 1 1 X m N X m N - 1 1 P. 1 P. 2 P. N + 1 = y 1 y 2 y m

哪一个Polyfit.解决p = v \ y。由于Vandermonde矩阵中的列是向量的功率X,条件号V.通常很大,高阶适合,导致奇异系数矩阵。在这些情况下,定心和缩放可以改善系统的数度,以产生更可靠的合适。

扩展能力

也可以看看

||||||

话题

在R2006A之前介绍