古詩詞大全網 - 成語故事 - 什麽是擬合值

什麽是擬合值

插值和擬合都是函數逼近或者數值逼近的重要組成部分

他們的***同點都是通過已知壹些離散點集M上的約束,求取壹個定義

在連續集合S(M包含於S)的未知連續函數,從而達到獲取整體規律的

目的,即通過"窺幾斑"來達到"知全豹"。

簡單的講,所謂擬合是指已知某函數的若幹離散函數值{f1,f2,…,fn},通

過調整該函數中若幹待定系數f(λ1, λ2,…,λ3), 使得該函數與已知點集的

差別(最小二乘意義)最小。如果待定函數是線性,就叫線性擬合或者

線性回歸(主要在統計中),否則叫作非線性擬合或者非線性回歸。表

達式也可以是分段函數,這種情況下叫作樣條擬合。

而插值是指已知某函數的在若幹離散點上的函數值或者導數信息,通

過求解該函數中待定形式的插值函數以及待定系數,使得該函數在給

定離散點上滿足約束。插值函數又叫作基函數,如果該基函數定義在

整個定義域上,叫作全域基,否則叫作分域基。如果約束條件中只有

函數值的約束,叫作Lagrange插值,否則叫作Hermite插值。

從幾何意義上將,擬合是給定了空間中的壹些點,找到壹個已知形式

未知參數的連續曲面來最大限度地逼近這些點;而插值是找到壹個(

或幾個分片光滑的)連續曲面來穿過這些點。

具體插值擬合的計算參考下面回復:

1)Matlab中如何作線性擬合/線性回歸/多元線性回歸?

:#FangQ(Qianqian.Fang@Dartmouth.Edu),2002/6/21, BigGreen/MathTools #

即用y=a*x+b來擬合壹組數據{{x1,y1},{x2,y2}…{xn,yn}}

matlab中使用polyfit

x=data(:,1);

y=data(:,2);

p=polyfit(x,y,1);

p(1)為斜率a,p(2)為截距b

多元線性回歸即用y=a1*x1+a2*x2+..+am*xm來擬合數據點{x1i,x2i,…xmi,yi}

(i=1~n)

|x11,x21,…xm1|

A=|x12,x22,…xm2|

|…………… |

|x1n,x2n,…xmn|

Y={y1,y2,y3,…,yn}'

則系數{a1,a2,…,am}'=pinv(A)*Y

在matlab中使用

coeff=A\Y

則可以得到最小二乘意義上的擬合系數

matlab默認只提供了多項式擬合的函數polyfit,對於其他稍微簡單

壹點的擬合,如標準的指數、對數、高階多項式擬合,都有解析公式,參見:

/LeastSquaresFitting.html

對於更加復雜的非線性函數,建議使用Mathematica或者DataFit

Mathematica中提供了Fit[],以及

<< Statistics`NonlinearFit`

NonlinearFit[],NonlinearRegress[]

可以擬合任意復雜的表達式。

DataFit可以自定義擬合模型,適用於復雜系統的擬合。