插值多項式

Print Friendly

插值多項式 (Interpolating polynomial)
國立臺南第一高級中學數學科林倉億老師/國立臺灣師範大學數學系退休教授洪萬生責任編輯

例題1:在坐標平面上給定三個點 \(A(1,-2)\),\(B(2,3)\) 與 \(C(3,12)\),如何找到一個二次多項式使得其圖形通過這三個點? 

解此題最簡單的想法,不外是假設所求多項式\(f(x)=ax^2+bx+c\),

然後將 \(A\),\(B\),\(C\) 三點代入,得三元一次聯立方程式 \(\begin{cases}-2=a+b+c\\3=4a+2b+c\\12=9a+3b+c\end{cases}\) ,

利用加減消去法即可求得 \(\begin{cases}a=2\\b=-1\\c=-3\end{cases}\),即所求 \(f(x)=2x^2-x-3\)。

這方法不錯,但有個缺點,就是要假設三個未知數,然後辛苦地解聯立方程式。今若將題目改成:

例題2:在坐標平面上給定四個點 \(A(1,10)\),\(B(2,26)\),\(C(3,58)\) 與 \(D(4,112)\),如何找到一個三次多項式使得其圖形通過這四個點?

這時再要用上述的方法,光用想的就有點累了,更何況如果推廣到一般情況:給定 \(n+1\) 個點,找一個 \(n\) 次多項式使得其圖形通過這 \(n+1\) 個點。比如說 \(n=100\) 時,若真要用上述的方法,不但需要很大的勇氣、毅力,更需要一張很大很大的計算紙,才能容納有 \(101\) 個方程式的聯立方程組,而這才只是第一步,更累的還在後頭……。

為了應付上述這種問題,兩個偉大的數學家─牛頓(Issac Newton, 1643~1727)與拉格朗日(Joseph Louis Lagrange)分別想出了不同的方法。以例題1為例,牛頓的方法是假設 \(f(x)=a+b(x-1)+c(x-1)(x-2)\),再將 \(A\),\(B\),\(C\) 三點代入,得

\(\begin{cases}-2=a\\3=a+b\\12=a+2b+2c\end{cases}\Rightarrow\begin{cases}a=-2\\b=5\\c=2\end{cases}\)

\(\Rightarrow f(x)=-2+5(x-1)+2(x-1)(x-2)=2x^2-x-3\)

牛頓方法的好處在於巧妙的假設多項式,大幅減化了計算。

牛頓的巧妙已夠令人驚豔了,但拉格朗日更青出於藍,連假設都不用,直接寫出所求的多項式

\(f(x)=\displaystyle -2\cdot\frac{(x-2)(x-3)}{(1-2)(1-3)}+3\cdot\frac{(x-1)(x-3)}{(2-1)(2-3)}+12\cdot\frac{(x-1)(x-2)}{(3-1)(3-2)}\)。

不相信的讀者可以拿出紙筆算一算,看看用拉格朗日方法所得到的多項式化,在化簡後是否真的是\(2x^2-x-3\)。依拉格朗日之法,例題2所求的多項式

\(\begin{multline*}f(x)=10\cdot\frac{(x-2)(x-3)(x-4)}{(1-2)(1-3)(1-4)}+26\cdot\frac{(x-1)(x-3)(x-4)}{(2-1)(2-3)(2-4)}\\+58\cdot\frac{(x-1)(x-2)(x-4)}{(3-1)(3-2)(3-4)}+112\cdot\frac{(x-1)(x-2)(x-3)}{(4-1)(4-2)(4-3)}\end{multline*}\)

現用數學符號將拉格朗日的方法寫在下面:

(1)在坐標平面上通過 \(A(x_1,y_1)\),\(B(x_2,y_2)\) 與 \(C(x_3,y_3)\) 三點的二次多項式為

\(f(x)=\displaystyle y_1\cdot\frac{(x-x_2)(x-x_3)}{(x_1-x_2)(x_1-x_3)}+y_2\cdot\frac{(x_1-x)(x_3-x)}{(x_2-x_1)(x_2-x_3)}+y_3\cdot\frac{(x_1-x)(x_2-x)}{(x-x_3)(x_1-x_3)}\)

(2)在坐標平面上通過 \(A(x_1,y_1)\),\(B(x_2,y_2)\),\(C(x_3,y_3)\) 與 \(D(x_4,y_4)\) 四點的三次多項式為

\(\begin{multline*}f(x)=y_1\cdot\frac{(x-x_2)(x-x_3)(x-x_4)}{(x_1-x_2)(x_1-x_3)(x_1-x_4)}+y_2\cdot\frac{(x-x_1)(x-x_3)(x-x_4)}{(x_2-x_1)(x_2-x_3)(x_2-x_4)}\\+y_3\cdot\frac{(x-x_1)(x-x_2)(x-x_4)}{(x_3-x_1)(x_3-x_2)(x_3-x_4)}+y_4\cdot\frac{(x-x_1)(x-x_2)(x-x_3)}{(x_4-x_1)(x_4-x_2)(x_4-x_3)}\end{multline*}\)

(3)圖形通過這 \(n+1\) 個點的 \(n\) 次多項式可仿上述之形式寫出。

上述這個方法就稱為「拉格朗日插值多項式」或「拉格朗日插值法」,此方法不但保有題目所給的點坐標,而且還有規律可循,在電腦發達的今日來說,更是十分適於寫成電腦程式,這麼一來,有再多個點也不用怕了!

拉格朗日的方法雖然神妙,但相信有讀者一定心有不服,認為拉格朗日的方法並未將答案寫成一般式,即 \(f(x)=ax^2+bx+c\) 或 \(f(x)=ax^3+bx^2+cx+d\) 等等,說白話一點,有種尚未「算完」的感覺。拉格朗日插值多項式確會讓人有這種「半成品」的感覺,但試想,若今日我們重點並不在於求出多項式,而在於預測下一個數值,那麼,拉格朗日插值多項式不就方便多了嗎?例如將例題2改成:

例題3:已知三次多項式 \(f(x)\) 的圖形通過 \(A(1,10)\),\(B(2,26)\),\(C(3,58)\) 與 \(D(4,112)\) 四點,求 \(f(5)\) 之值。

這時,僅須將 \(x=5\) 代入例題2所得的拉格朗日插值多項式,很輕易地就可以求出 \(f(5)=194\)。換個角度來看,拉格朗日插值多項式的精神,即在於先利用給定的資料建立模式,再由模式來預測其他的值。藉助今日電腦科技的強大運算能力,拉格朗日插值多項式在諸多領域將有更大揮灑空間。 

There are 2 comments for this article
  1. 老榕樹 at 22:16:17

    寫的真清楚,又學了一課。也真感謝牛頓和拉格朗日的發現阿!!!

  2. 董修身 at 16:55:45

    文章寫得很詳細,是學生很好的課後閱讀教材
    但文中介紹牛頓插值法將A,B,C三點代入後聯立方程組應該誤植了(好像是copy上面的)。

    感謝學長及教授的辛勞付出,讓後輩教學上有無盡資源可以提供給學生使用,感謝!

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *


+ 7 = 11