拉格朗日插值法

拉格朗日法公式
應用於當給出n+1個點,且這n+1個點在一個n次(或者小於n次)的多項式時,求給出在這個多項式上的一個點的x座標,求出其對應的y座標。

用法1: 當給出n+1個點後,直接將需要求的點的x座標帶入到這個拉格朗日法公式中,f(X)=y1*(X-x2)(X-x3)…(X-xn)/((x1-x2)(x1-x3)…(x1-xn))+y2*(X-x1)(X-x3)…(X-xn)/((x2-x1)(x2-x3)…(x2-xn))+…
時間複雜度爲n^2。

用法2: 當給出連續的n+1個點時,比如(1,y1)(2,y2)…(n,yn)(n+1,y n+1),這時候看累乘部分,比如i的累乘的分子部分則爲(X-1)(X-2)…(X-(i-1))(X-(i+1))…(X-n),而分母部分則爲(i-1)(i-2)…1*(-1)…(i-n)。維護三個數組,pre[i]代表j爲從1到i的(k-j)的前綴乘,suf[i]代表j爲從i到n的(k-j)的後綴乘,然後f[i]代表i的階乘,可以發現這時候拉格朗日求值法的公式爲yi*pre[i-1]*suf[i+1]/(f[i-1] * (-1)^(n-i) *f[n-i].--------(i屬於[0,n])的累加

用法3: 當需要計算多個在這個多項式上的點時。

提前用o(n)的複雜度算出g,用o(n^2)的複雜度算出每個ti,然後對於給的每一個所求點,o(n)的複雜度進行累加即可,總的複雜度爲o(n ^ 2+n*m),m爲所求點數量。

發佈了62 篇原創文章 · 獲贊 6 · 訪問量 1944
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章