數值分析-插值法

來源:互聯網
上載者:User

標籤:函數   nbsp   一般來說   分享   時間複雜度   需要   font   技術   數值   

我們能得到一個函數f在區間[a,b]上某些點的值或者這些點上的高階導數

我們就能通過插值法去得到一個函數g,g與f是非常相近的

一般來說g分為三類,一類是n次多項式 an*xn + an-1*xn-1 + .......+a0,一類是三角多項式,最後一類是分段n次多項式

 

多項式插值

這個可以說是最簡單的插值了

 對於an*xn + an-1*xn-1 + .......+a0,我們有n+1個未知數,我只需要知道n+1個點的函數值就可以解出這n+1個未知數

將解出的值帶入即可

 

優點:簡單粗暴

缺點:要解n+1個方程,時間複雜度較高,n不好確定,若n過大,容易過擬合,若n過小,容易欠擬合

 

拉格朗日插值

先說一階多項式

我們有兩點式

f(x) = yk*(xk+1 - x) / (xk-xk+1) + yk+1*(x-xk) / (xk+1 - xk) 

此兩點式可以看做? * yk + (1-?) * yk+1

那麼自然的在x=xk的時候 ?=0  在x=xk+1的時候?=1

這裡的?其實是與x相關的一階多項式

再說二階多項式

對於一個二次函數,我們有三個點(xk-1,yk-1) ,(xk,yk) ,(xk+1,yk+1)

我們有lk-1,lk,lk+1

f(x) = lk-1*yk-1 + lk*yk  +  lk+1*yk+1

其中l是與x相關的二次多項式

我們可以把l當作基函數

這樣的話就有

x = xk-1 時lk-1 = 1, lk=0, lk+1 = 0

x = xk時   lk-1 = 0, lk=1, lk+1 = 0

x = xk+1時lk-1 = 0, lk=0, lk+1 = 1

那麼這個插值基函數是很好求的

因為每個插值函數都有兩個零點

對於lk-1來說有零點xk,xk+1

那麼lk-1就可以表示為lk-1 = A*(x-xk)*(x-xk+1)

因為x=xk-1時lk-1 = 1

所以A = 1 / ((xk-1 - xk)* (xk-1 - xk+1) )

那麼同理lk和lk+1也能求出來了

那我們得到二階的拉格朗日插值多項式

 

現在將二階推廣到n階

得到n接的拉格朗日插值多項式

 

優點:演算法較為簡單

缺點:暫不清楚

數值分析-插值法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.