天天看點

【數值分析】拉格朗日插值與牛頓插值

        在工程應用和科學研究中,經常要研究變量之間的關系y=f(x)。但對于函數f(x),常常得不到一個具體的解析表達式,它可能是通過觀測或實驗得到的一組資料(x,f(x)),x為一向量;或則是解析表達式非常複雜,不便于計算和使用。是以我們需要尋找一個計算比較簡單的函數S(x)近似代替f(x),并使得S(x)=f(x),這種方法就稱為插值法。

常用的插值法有:

       一維插值法:拉格朗日插值、牛頓插值、分段低次插值、埃爾米特插值、樣條插值。

       二維插值法:雙線性插值、雙二次插值。

        已知函數f(x)的n+1個互異的節點

【數值分析】拉格朗日插值與牛頓插值

處的函數值

【數值分析】拉格朗日插值與牛頓插值

,則其拉格朗日插值多項式可以寫為:

【數值分析】拉格朗日插值與牛頓插值

其中,

【數值分析】拉格朗日插值與牛頓插值

為插值基函數,其表達式為:

【數值分析】拉格朗日插值與牛頓插值

          已知函數f(x)的n+1個互異的節點

【數值分析】拉格朗日插值與牛頓插值
【數值分析】拉格朗日插值與牛頓插值

,則其牛頓插值多項式可以寫為:

【數值分析】拉格朗日插值與牛頓插值
【數值分析】拉格朗日插值與牛頓插值

為f(x)的k階差商(也叫均差),可以表示如下:

【數值分析】拉格朗日插值與牛頓插值

也可以由函數值

【數值分析】拉格朗日插值與牛頓插值

線性表示為:

【數值分析】拉格朗日插值與牛頓插值

根據上述基本原理和公式,很容易程式設計實作。我們假設根據下面的資料表,來分别用拉格朗日插值和牛頓插值來計算f(8.4)的近似值:

x

8.1

8.3

8.6

8.7

f(x)

16.94410

17.56492

18.50515

18.82091

具體代碼實作如下:

程式運作結果如下:

【數值分析】拉格朗日插值與牛頓插值

優缺點比較:

        拉格朗日插值法:插值多項式和插值基函數的形式對稱,容易程式設計。但是,增加節點時,需要重新計算每一個插值基函數。

        牛頓插值法:當插值節點增加時,之前已計算的結果仍然能用,每增加一個節點,隻要再增加一項即可,進而避免了重複性計算。

牛頓插值函數如下:

為了使用上面兩個函數,腳本檔案如下:

結果顯示如下:

【數值分析】拉格朗日插值與牛頓插值

作者:nineheadedbird

繼續閱讀