數學傳播
logo-數學傳播

數學傳播
logo_m-數學傳播

    跳至中央區塊/Main Content :::
  • 歷年季刊
  • 季刊公告
    • 稿約
    • 訂閱資訊
    • 勘誤
    • 數播線上
  • 專訪
  • 聯絡我們
EN
search
  • Home
  • 歷年季刊
  • Vol.34 No. 4
  • Facebook
  • line
  • email
  • Twitter
  • Print
2010年12月 34卷4期
從牛頓二項式定理開方到牛頓切線法
發刊日期
2010年12月
標題
從牛頓二項式定理開方到牛頓切線法
作者
王曉明, 王蕊珂
關鍵字
牛頓, 微積分, 數值計算, 動態迭代
檔案下載
Download PDF
全文

一. 問題的提出

在數學中, 再也沒有比開方更加自然的事了, 當人類產生了自然數概念並且規定了四則運算之後, 人們發現, 如果按照乘法性質, 一個數自身相乘的逆行運算是一件不太容易的事情。 一個整數自身相乘以後是比較容易找到原來那個整數的, 例如2自身相乘5次是32, 從32我們也容易找到2, 但是, 如果是31, 30 呢, 開5次方就不太容易了。 自從牛頓發現二項式定理以後, 人們知道開方是依據二項式定理展開的。但是, 畢竟太麻煩。有沒有一個簡單的方式或者公式來開方呢?

二. 一個意外

設 $A=X^n$, $X={\root n\of A}$, 我們想求 $X$, 即開方 $n$ 次, 當: \begin{equation} A\div X^{n-1}_{@}=X.\label{1} \end{equation}

我們把右下角標打上了 ($@$) 的 $X_@$ 表示我們預設的那個 $X$, 把右下角沒有 $@$ 的 $X$ 視作 $A\div X^{n-1}_{@}$ 以後得出的商。

有三種情況:

  1. 我們取的初始值 $X_@$, 與等式右邊的 $X$ 一致時, 問題就解決了, 例如 $32/2^4=2$;
  2. 我們取的初始值 $X_@$ 偏小, $A/X^{n-1}_@\gt X_@$, 例如 $45/2^4 =2.8125\gt 2$。 (1) 式 $A/X^{n-1}_@=X_0$, 於是 $X_@\lt X_0$, $X_0-X_@=E$。 例如: $2.8125-2=0.8125$ 是一個正值, 我們把這個正值分解 $E/n$ 再加回去就可以調節原來取了偏小的初始值, 使之變大; (因為 $A$ 開 $n$ 次方, 就是將 $X$ 自乘 $n$ 次的數值分解 $n$ 次, 所以也就自然而然地想到其誤差 $E$ 也要分解 $n$ 份, 即 $E/n$)。
  3. 我們取的初始值 $X_@$ 偏大, $A/X^{n-1}_@\lt X_@$, 例如 $30/2^4=1.875\lt 2$, (1) 式 $A/X^{n-1}_@=X_0$, 於是 $X_@\gt X_0$, $X_0-X_@=-E$。 例如 $1.875-2= -0.125$, 我們把這個負值 $-E$ 分解 $-E/n$ 再加回去, 就可以調節原來取得偏大的初始值, 使之變小。
  4. 於是我們得到: \begin{equation} X_{k+1}=X_k+(A/X_K^{n-1}-X_k)\frac 1n, \quad (K=0,1,2,3,4,\ldots.)\label{2} \end{equation}
  5. 我們用 (2) 式來開方。

例如我們開平方, 即 $n=2$。 $X=\sqrt{A}$, 公式: \begin{equation} X_{k+1}=X_k+(A/X_K^{2-1}-X_k)\frac 12, \label{3} \end{equation} 設 $A=5$。 $\sqrt {5}$ 介於 $2^2$ 至 $3^2$ 之間, 我們可以取初始值 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9。 隨便取一個值輸入, 只取小數第一位, 得出來的都是一樣的, 一般要求取中間值 2.5。

第一步:$2.5+(5/2.5-2.5)/2=2.2$; (用其它值也一樣, 例如 2.8; $2.8+(5/2.8-2.8)/2=2.2$。

第二部:$2.2+(5/2.2-2.2)/2=2.23$。 每一次多取一位數。

第三步:$2.23+(5/2.23-2.23)/2=2.236$。 即 $2.236=\sqrt{5}$。

計算次數與計算精確度成為正比。

開 3 次方也一樣, 即 $n=3$, $X=\root 3\of A$, 公式: \begin{equation} X_{k+1}=X_k+(A/X_K^{2}-X_k)\frac 13. \label{4} \end{equation}

設 $A=5$, 5 介於 $1^3$ 至 $2^3$ 之間, 我們可以取初始值 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 計算後只取小數第一位, 答案都是一樣。 例如取 1.9。

第一步:$1.9+(5/1.9^2-1.9)/3=1.7$。取其它值也是一樣, 例如取 1.5; $1.5+(5/1.5^2 -1.5)/3=1.7$。 輸入值大於輸出值, 負反饋;

第二步:$1.7+(5/1.7^2-1.7)/3=1.71$; 輸入值小於輸出值, 正反饋;

第三步:$1.71+(5/1.71^2-1.71)/3=1.709$; 輸入值大於輸出值, 負反饋;

第四步; $1.709+(5/1.709^2 -1.709)/3=1.7099$。 每一步多取一位數。要多精確都可以。

如果輸入值與輸出值一致:

289開平方, $\sqrt{289}$ 介於如 10 的平方至 20 平方之間, 我們取 20 為初始值, 於是: 第一步 $20+(289/20-20)/2=17$; 第二步 $17+(289/17-17)/2=17$。 說明17是個精確值。

以上方法是作者1980年發現的, 找到江西師範大學數學系, 一位教授看過之後, 覺得面熟, 將這個公式反推回去, 原來是牛頓切線法。 但是, 他不知道是怎麼得出來的。原來這可以用二項式定理推出。

三. 二項式定理與 (2) 式巧合

\begin{equation} \hbox{設} \ A=(X\pm Y)^n =C_0^nX^n\pm C_1^n X^{n-1}Y+C_2^nX^{n-2}Y^2\pm\cdots\pm C_n^n Y^n,\label{5} \end{equation} (說明:在大陸二項式表示 $C_n^k=n!/(n-k)!k!$; 在臺灣 $C_n^k=k!/(k-n)!n!$, 由於是在臺灣的雜誌發表, 就按照臺灣數學界的標記法)

$X$ 是假定值, $Y$ 是誤差值。 \begin{equation} X_{k+1}=(X\pm Y)=X_k+ (A/X_K^{n-1}-X_k)\frac 1n. \label{6} \end{equation} 由 \eqref{6} 式得: \begin{equation} \pm Y=(A/X_K^{n-1}-X_k)\frac 1n. \label{7} \end{equation} 我們把\eqref{5} 式等號右邊按照 \eqref{7} 式程序進行:

(一) \eqref{7} 式右端第一步是 $A/X_K^{n-1}$, 相當於 \eqref{5} 式中的: \begin{eqnarray} &&\hskip -25pt (C_0^nX^n\pm C_1^n X^{n-1}Y+C_2^nX^{n-2}Y^2\pm\cdots\pm C_n^n Y^n)/X^{n-1}\nonumber\\ &=&X\pm nY+(C_2^nX^{n-2}Y^2\pm \cdots \pm C_n^nY^n)/X^{n-1}.\label{8} \end{eqnarray} (二) \eqref{7} 式右端第二步是減去 $X$, 即 $A/X_K^{n-1}-X_k$。

\eqref{8} 式右端減去 $X$ 得: \begin{equation} \pm nY+(C_2^nX^{n-2}Y^2\pm\cdots\pm C_n^n Y^n)/X^{n-1}.\label{9} \end{equation}

(三) \eqref{7} 式右端第三步是除以 $n$, 即 $(A/X_K^{n-1}-X_k)\frac 1n$。

\eqref{9} 式除以 $n$ 得: \begin{equation} \pm Y+(C_2^nX^{n-2}Y^2\pm\cdots\pm C_n^n Y^n)/nX^{n-1}.\label{10} \end{equation}

\eqref{10} 式是由 \eqref{5} 式得來的, 現在 \eqref{7} 式左端只剩下一個 $Y$, 而 \eqref{10} 式卻是多出來一個: \begin{equation} (C_2^nX^{n-2}Y^2\pm\cdots\pm C_n^n Y^n)/nX^{n-1}.\label{11} \end{equation}

\eqref{11} 式就是我們碰到的誤差。 我們在實際計算中把 \eqref{11} 式不要了。

當我們取 $X$ 值偏大, $A=(X-Y)$; 當我們取值偏小是 $A=X+Y$。

四. 為什麼 (2) 式是牛頓切線法

我們把 \eqref{2} 式展開: \begin{eqnarray*} X_{k+1}&=&X_k+(A/X_K^{n-1}-X_k)\frac 1n=X_k-(X_K^n-A)/(nX_K^{n-1}),\\ \hbox{注意:}&& f(x)= X_K^n-A;\\ &&f'(x)=nX_{K}^{n-1}.\\ &&\hbox{即}\ X_{k+1}=X_k-\dfrac{(f(x))}{(f'(x))}\\ &&\hskip 1.5cm \hbox{(牛頓切線法, 求}\ X={\root n\of A},\ A\gt 0, X_K^n-A \Leftrightarrow X_K^n-A=0). \end{eqnarray*}

開5次方例題: \begin{eqnarray} X_{k+1}&=&X_k+(A/X_K^{n-1}-X_k)\frac 1n, \ \hbox{即 $n=5$, 即 $X={\root 5\of A}$, 得:}\nonumber\\ X_{k+1}&=&X_k+(A/X_K^{4}-X_k)\frac 15.\label{12} \end{eqnarray} 例如 $A=100$:100介如 2 的 5 次方至 3 的 5 次方之間, 初始值可以取 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9. 我們取中間值 2.5. 於是; \begin{eqnarray*} 2.5+(100/2.5^4-2.5)/5&=&2.51\\ 2.51+(100/2.51^4-2.51)/5&=&2.511.\ \hbox{即}\ 2.511={\root 5\of {100}}. \end{eqnarray*}

---本文作者王曉明為退休數學老師, 王蕊珂目前就讀美國 Ohio Wesleyan University---

  • 歷年季刊
  • 季刊公告
  • 專訪
  • 聯絡我們

© Copyright 2023. Math Sinica All Rights Reserved.隱私權及安全政策