拉格朗日插值

2022-05-16 10:57:28 字數 1478 閱讀 7140

例題:luogu p4781【模板】拉格朗日插值

題目大意: 給出\(n\)個點\(p_i(x_i,y_i)\),講過這\(n\)個點的最多\(n - 1\)次的多項式記為\(f(x)\),求\(f(k)\)的值

方法一:差分法

差分法適用於\(x_i = i\)的情況

如,用差分法求\(f(x) = \sum_^xi^2\)的多項式形式。

1    5    14    30    55    91

4 9 16 25 36

5 7 9 11

2 2 2

第一行為\(f(x)\)的連續的前幾項。

若上面一行有\(n\)個值,下面一行有\(n - 1\)個值,每個值為上面對應的相鄰兩項的差。觀察到,如果這樣操作的次數足夠多(前提是\(f(x)\)為多項式),每次總會返回乙個定值,可以利用這個定製求出\(f(x)\)的每一項的係數,然後即可將\(k\)帶入多項式中求解。

如上例中可求出\(f(x) = \fracn^3+\fracn^2+\fracn\)。時間複雜度為\(o(n^2)\),對給出的點的限制性較強。

方法二:高斯消元

使用待定係數法。設\(f(x) = \sum_^a_ix^i\)將每個\(x_i\)代入\(f(x)\),有\(f(x_i)=y_i\),這樣就可以得到乙個由\(n\)條\(n\)元\(1\)次方程所組成的方程組,然後使用高斯消元求出每一項\(a_i\),然後將\(k\),代入求值。

時間複雜度\(o(n^3)\),對給出點的座標無要求。

方法三: 拉格朗日插值法

考慮將每個點做乙個對於\(x\)軸的垂線,設垂足為\(h_i(x_i,0)\)。

如上圖所示,黑線等於藍線加綠線加紅線。每次我們選擇乙個\(p_i\),並選擇其他的\(h_j[j\not=i]\),做一條過這些點的一條至多\(n-1\)次的線。由於有\(n-2\)個點都在\(x\)軸上,我們知道這條線的解析式一定是形如

\[g_i(x) = y_i \times (\prod_^n(x-x_i)[i\not=x])

\]最後將所有的\(g(x)\)相加,即\(f(x)=\sum_^ng_i(x)\)。因為對於每個點\(p_i\),都只有一條函式經過\(p_i\),其餘都經過\(h_i\),這一項的係數是\(0\),所以最後的和函式總是過所有\(n\)個點的。

\[f(x)=\sum_^ny_i\times(\prod_\frac)

\]如果要將每一項都算出來,時間複雜度仍是\(o(n^2)\)的,但是本題中只用求出\(f(k)\)的值,所以只需將\(k\)代入進式子裡得到:

\[ans = \sum_^ny_i\times(\prod_\frac)

\]本題中,還需要求解逆元。如果先分貝計算出分子和分母,再將分子乘進分母的逆元,累加進最後的答案,時間複雜度的瓶頸就不會在求解逆元上,時間複雜度為\(o(n^2)\)。

拉格朗日插值

拉格朗日插值基函式 li x x x 0 x xi 1 x xi 1 x x n x i x0 xi xi 1 xi xi 1 xi xn 拉格朗日差值函式 ln x i 0 nyil i x 其中,x為缺失值對應的下表序號,ln x 為缺失值的插值結果,xi 為缺失值yi 的下表序號。對全部缺失值...

拉格朗日插值

function s larg1 x,y,xi m length x 求出插值節點向量長度 n length y if m n error 向量x與y的長度必須一致 這裡肯定一致,只是為了消除直接選取x,y資料的時候出錯而設定的 end s 0 for i 1 n z ones 1,length x...

拉格朗日插值

存在性和唯一性的證明以後再補。拉格朗日插值,emmmm,名字挺高階的 joy 它有什麼應用呢?我們在fft中講到過 設 n 1 次多項式為 y sum a i x i 有乙個顯然的結論 如果給定 n 個互不相同的點 x,y 則該 n 1 次多項式被唯一確定 那麼如果給定了這互不相同的 n 個點,利用...