上頁 12 已在最後一頁

數值估計兩講 (第 2 頁)

楊維哲

 


首頁 | 搜尋

.原載於數學傳播第一卷第一期
.作者當時任教於台大數學系
對外搜尋關鍵字
 
第二講、一些數值計算的注意事項

# 1 在上一講中,已經講了很多近似值計算,我們現在要談一些日常生活中(i.e. 考試中)要注意的計算技術。

大家都知道現在工技進步很快,幾年內,我想計算器 (calculator) 就會很普及了。因為這緣故,時常有人主張念數學不必計算,「重要的只是概念」。我要指出,概念只是「高級的計算」而已。而計算則是數學的根本。我們不必每題都算到小數點以後五位數字,但是,念數學一定不能偷懶,隨時都要算,依著題目的需要,算到相當程度。

最初等的,(「第0步」)是大小程度之估計,這在前面已講過了。這是最重要的!

向來工程師用計算尺計算,計算尺是利用對數原理的。通常,首數不是死板的,拉計算尺來算 (甲) 3.76 x 2.46 x 9.8 $\div \sin57^{\circ}$,跟算(乙) 0.376 x 0.0246 x 98000000 $\div \sin57^{\circ}$,拉的過程完全一樣。換句話說,小數位要自己定,定錯了的話,你的計算就報銷了!

最初略的估算是 (甲) 4 x 2 x 10 $\div0.7$ 近似於 $80 \div 0.7$,約在100上下;(乙) 則是 $0.4 \times 0.02 \times 10^3 \div0.7$ $= 8\cdot10^5 \div0.7$,近似106

如果小數位點錯了,答案就「離譜」了。時常有人說「我只是小數位點錯了,其它都對」。我說,「其它都可以不看,小數位是非看不可的!」

# 2 如果答案是 6.148 x 103,那麼,除了指數 3 最重要之外,其次最重要的就是 6,依次才是 1,4,8, 這是天經地義的事。如果在 7 位數字 6148924 中,「只錯了一個字 6」,你就差不多報銷了。

我在這裡提出我的一個方法,一個很不正統的計算方式;一切計算,從左邊開始!

\begin{displaymath}
\begin{array}{llll}
&3.76&&\\
\times&2.46&&\\
\hline
&6.12...
...family{cwM2}\fontseries{m}\selectfont \char 17})}&&
\end{array}\end{displaymath}

其實,更正確的是

\begin{displaymath}
\begin{array}{rr}
&61200\\
&14000\\
&12240\\
&2800\\
&18...
...\
\hline
&82496\\
&10\,\,\,\quad\\
\hline
&92496
\end{array}\end{displaymath}


\begin{displaymath}
\begin{array}{llll}
&3.76&&\\
\times&2.46&&\\
\hline
&6&--...
...\,\,\,\,36&--&6\times6\\
\hline
&8.2496&&\\
&10&&
\end{array}\end{displaymath}

如果你多練習幾次,並養成隨時估計的習慣,你就會算的跟自右算起一樣快了。

我這辦法有壞處:比起通常的算法,通常稍慢些;但是

(1)它是多了一道手續,確因而也不必去記進位,因此可減少錯誤!!
(2)你隨時隨地停下來,都可以得到近似值。

後面這點特別重要。 3.76 x 2.46,取三位有效數字是 9.25,照我們正確的辦法,作了六個乘法相加,就得到 9.18了,誤差才千分之七,作三個乘法得 8.6 誤差也不到一成!!

# 3 上面說到後一點,還有心理學上的根據,如果一個問題要加個二十次,或者乘二十次,剛開始的運算還不容易出錯;越後面越危險。所以,應該是越到後來做的事情越不重要才對:早上起來精神好,應該念數學!「當然有的人是『夜光鳥』,那是例外!」

# 4 對於計算,還有個原則是活用!你想想你有沒有活用過「可交換率」?

一堆數字做和,你會不會先把 2 跟 8,3 跟 7,9 跟 1,……湊成10? 37 x 3 = 111,則 37 x 12 = 444,為什麼?

做乘法時,5 與 2 的倍數先湊,25 與 4 的倍數先湊!

# 5 人人都會證

(10a+5)2=100(a+1)a+25

但是你會活用嗎?

\begin{displaymath}
\begin{eqalign}
25^2 &= 625 \\
35^2 &= 1225 \\
45^2 &= 202...
... [\qquad]25 \\
( 15 \cdot 16 &= 30\cdot8 = 240 )
\end{eqalign}\end{displaymath}

# 6 另一個公式是 (a+b)(a-b)=a2-b2

\begin{displaymath}
\begin{array}{ccccc}
78\times82&=&80^2-2^2&=&6396\\
91\time...
...\
63\times67&=&65^2-2^2&=&4221\\
&&\cdots\cdots&&
\end{array}\end{displaymath}

平方數,從 112=121192=361(圍棋盤上的點數)都要會背,那麼 171 x 169=28899

# 7 以下再講近似算法──這跟前面的誤差論有點關係,而且跟以後的微分學更有關係!二項式公式

\begin{displaymath}
(1+x)^n\equiv1+nx+\frac{n(n-1)}{2}x^2+\cdots+x^n
\end{displaymath}

x 很小,例如 $x=1\%$,則 x2=10-4 了,所以當 n 不太大時,例如 n=5 或 6,則這公式的前兩項已經正確到小數點下第二位,即

\begin{displaymath}(1+x)^n\cong1+nx\end{displaymath}

例如 $(1.005)^6\cong1.03$

這個公式很管用,其實在 n 為分數時,也通的!例如$n=\frac{1}{m}$, $m=2,3,4,\cdots$$(1+x)^{\frac{1}{m}}$ 意思是 (1+x)m 次方記之為 1+y,則 y 必很小,而且 (1+y)m=1+x,即

\begin{displaymath}
1+x\cong1+my,\quad y\cong\frac{x}{m}
\end{displaymath}


\begin{displaymath}
(0.98)^{\frac{1}{2}}=(1-0.02)^{\frac{1}{2}}\cong 1-0.01=0.99...
...ily{cwM0}\fontseries{m}\selectfont \char 44}}99^2=9801\mbox{]}
\end{displaymath}

$\sqrt[5]{1000}=?$322=1024=210=45,故 $\sqrt[5]{1024}=4$,而

\begin{eqnarray*}
\sqrt[5]{1000}&=&(1024-24)^{\frac{1}{5}}=4\cdot(1-\frac{24}{10...
...
&\cong&4(1-\frac{24}{5100})\cong4(1-\frac{1}{200})=4-0.02=3.98
\end{eqnarray*}


這最後的例子有這個意思:為什麼記的是 $(1+x)^n\cong1+nx$?這才好記嘛!但是碰到 (a+b)n,若 $\frac{b}{a}$ 很小,(即是 $b\ll a$),就用

\begin{displaymath}
(a+b)^n=a^n(1+\frac{b}{a})^n\cong a^n(1+\frac{nb}{a})=a^n+na^{n-1}b
\end{displaymath}

「你不用背這個新公式!」

# 8 特例之一是 n=-1,即
$(1\pm x)^{-1}\cong1\mp x$(當 |x| 很小的時候)[這從 $\frac{1}{1+x}-(1-x)=\frac{x^2}{1+x}\cong x^2$ 可看出。] 而 $\frac{1}{0.99}\cong1.01$ 誤差約 10000 分之一。

# 9 我順便再做個註解。數學家不應該說「十幾塊錢」,「一萬多」。

從 10.01 到 19.99 或者,從11到19,快差到一倍!!你可以說「九十多元」這樣誤差只近原來所指數目的一成。但是「11元」就說「11元」!或者說「十元出頭」讓我知道是靠近11,不是靠近19。

# 10 我再說明一個例題 $\sin61^{\circ}=?$

\begin{displaymath}
\sin61^{\circ}=\sin(60^{\circ}+1^{\circ})=\frac{\sqrt{3}}{2}\cos1^{\circ}+\frac{1}{2}\sin1^{\circ}
\end{displaymath}

問題在 $\cos1^{\circ}$$\sin1^{\circ}$

我們知道 $\cos$$\sin$ 都是連續函數,因此,θ 接近 0 時,$\cos\theta$$\sin\theta$ 分別接近於 $\cos0=1$$\sin0=0$,問題是如何個接近法?

我們現在先比較 $\frac{\sin\theta}{\theta}$ 在 θ 接近 0 時的行為,查表也很有趣:

\begin{displaymath}
\begin{eqalign}
1^{\circ} &= \frac{\pi}{180}\cong0.017453 \...
...tfont \char 25})} \\
\sin1^{\circ} &\cong 0.017,
\end{eqalign}\end{displaymath}


\begin{displaymath}
\begin{eqalign}
\frac{\sin1^{\circ}}{1^{\circ}}
&\cong \und...
...frac{\sin1'}{1'} &\cong \underline{\hspace{3em}},
\end{eqalign}\end{displaymath}

我們要說明,當 $\vert\theta\vert$ 很小時, $\frac{\sin\theta}{\theta}$比 1 小,但是差不太多,用數學的式子來寫就是 $\lim_{\theta\rightarrow0}\frac{\sin\theta}{\theta}=1$,讀作:「θ 趨近 0 時, $\frac{\sin\theta}{\theta}$ 趨近 1」。



上式也可以用如下的方法來證明。我門來看圖,並考慮扇形及兩個三角形面積 $\frac{1}{2}\theta$, $\frac{1}{2}\sin\theta\cos\theta$, $\frac{1}{2}\tan\theta$, 就知道:當 $0<\theta<\frac{1}{2}$ 時, $0<\frac{1}{2}\sin\theta\cos\theta<\frac{1}{2}\theta<\frac{1}{2}\tan\theta$, 即 $0<\cos\theta<\frac{\theta}{\sin\theta}<\frac{1}{\cos\theta}$。(於是取倒數) $0<\cos\theta<\frac{\sin\theta}{\theta}<\frac{1}{\cos\theta}$ 但在 $-\frac{\pi}{2}<\theta<0$ 時,上式也成立,因為上述各函數均為偶函數。

因為 θ 趨近 0 時, $\frac{1}{\cos\theta}$$\cos\theta$ 均趨近 1,而 $\frac{\sin\theta}{\theta}$ 夾在 $\frac{1}{\cos\theta}$$\cos\theta$ 之間,故 $\frac{\sin\theta}{\theta}$ 也趨近 1(這是所謂挾擊原則)。

同意了這點,那麼在 θ 很小時,$\sin\theta$ 可用 θ(弳度)代替 $\cos\theta$ 呢?因為 $1-\cos\theta=2\sin^2\frac{\theta}{2}$,約為 $2(\frac{\theta}{2})^2=\frac{\theta^2}{2}$,故 $\cos\theta$ 可用 $1-\frac{\theta^2}{2}$ 代替。

事實上

\begin{displaymath}
\begin{array}{rcl}
1^{\circ}&\cong&0.017453\\
1-\frac{(1^{\...
...}\\
\cos1^{\circ}&=&0.9998\underline{\hspace{3em}}
\end{array}\end{displaymath}


\begin{displaymath}
\frac{[1-\frac{(1{\circ}^2)}{2}]}{\cos1^{\circ}}\cong\underline{\hspace{3em}}
\end{displaymath}

在我們的例子,若用

\begin{displaymath}
\sin61^{\circ}=\frac{\sqrt{3}}{2}\times1+\frac{1}{2}\times0.0175\cong0.866+0.009=0.875
\end{displaymath}

已經準確到三位數字了!

這個想法是三角函數微分法的出發點:若 θ 很小(用弳度),則

\begin{displaymath}
\begin{eqalign}
\sin(a+\theta) &= \cos\theta\sin a + \sin\th...
...sin a + \theta\cos a
& \cong \sin a+\theta\cos a
\end{eqalign}\end{displaymath}

亦即,$\sin\theta$ 用 θ 代替,$\cos\theta$$1-\frac{\theta^2}{2}$(或甚至 1)代替。

[習算]

\begin{eqnarray*}
&&\tan44^{\circ}50'=?\\
&=&\frac{\sin(45^{\circ}-10')}{\cos(4...
...neq0]\\
&\cong&\frac{1-0.00291}{1+0.00291}\cong1-0.00582=0.9942
\end{eqnarray*}


# 11
[考驗] 解方程式 x10+7x-1000=0
[解]因 210=1024,我猜 $x\cong2$,畢竟 x=2 時, f(x)=x10+7x-1000=24+14=38,才佔了 4% 之誤差而已。x=2f(x)>0(「過頭了」),故可以猜 x=2(1-y)y 是正數,很小,則

\begin{eqnarray*}
f(x)&=&2^{10}(1-y)^{10}+7\times2(1-y)-1000\\
&\cong&1024\cdot(1-10y)+14-14y-1000\\
&=&38-10254y
\end{eqnarray*}


f(x)=0,所以 $y\cong\frac{38}{10254}\cong\frac{40}{10000}=0.004$,而 $x\cong2(1-0.004)=1.992$
答:x=1.992 為其一近似解。

   

上頁 12 已在最後一頁

回頁首
 
(若有指正、疑問……,可以在此 留言寫信 給我們。)
EpisteMath

EpisteMath (c) 2000 中央研究院數學所、台大數學系
各網頁文章內容之著作權為原著作人所有


編輯:楊佳芳 / 校對:楊佳芳 / 繪圖:張琇惠、簡立欣 最後修改日期:4/26/2002