[陳傳義]拍攝
國中數學第三冊開始學根號√,把一個正數x放進裡面,代表x的正平方根,也就是平方以後剛好等於x的正數。這裡的x一般都從正整數開始學起,當x恰好是完全平方數(可等於某一正整數的平方),例如1、4、9、16、25等, √x會等於正整數;否則不但不等於任何整數,也不能等於任何兩個正整數的比值(數學家把這樣的數稱為「無理數」),如果想表達成小數,那得寫上無窮多位小數,還不會循環,例如
在YT上看過幾則油挑伯(YouTuber)教簡便求平方根近似值公式的影片,不過都未解釋道理。本文就來逐一探討方法、理由和優化(縮小誤差)。
如何求√x?
步驟1:找到一個正整數a,滿足a2 < x < (a+1) 2
步驟2:計算 x - a2 = b
步驟3: √x≒ a + b/(2×a)
茲以√2為例,即x=2, 因為 12=1 < 2 < 22=4, 取 a=1, 則 b= 2-12 = 1,
得√2≒1+ 1/(2×1) = 3/2 = 1.5
其實,如果(a+1)2 更靠近x,步驟2與步驟3裡的a可以換成(a+1),誤差將更小。
再以√15為例,即x=15, 因為 32=9 < 15 < 42=16, 發現16更靠近15,那麼,
當a2 < x < (a+1) 2 ,就有 a < √x < a+1, √x比a多那麼一點點,
假設√x=a+y, 其中 0<y<1,
∵ x = (√x) 2
∴ x = (a+y) 2 = a2 + 2ay + y2 (註), 因為 y是小於1的正數,平方後更小,
≒ a2 + 2ay , 忽略後相差無幾
移項後, y≒ (x - a2 )/(2a) = b/(2a)。
因此我們相信b/(2a)可以作為y的估計值,差距微小。
其實這個辦法所求得的近似值,一定會高估,也就是比實際值大。
我們看上述的討論,
x = a2 + 2ay + y2 > a2 + 2ay ∵ y2是正數,少加了就變小。
經過移項,推得 y< (x - a2 )/(2a) = b/(2a)
所以 √x=a+y < a+b/(2a) (對於把a換成(a+1)的情形亦然。)
另外,忽略y2 就是造成誤差的原因,所以如果y越接近0,誤差就會越小。而b/(2a)既然近似於y,同樣地, b/(2a)越接近0,誤差越小,本方法會得到越接近真值的結果。
上文計算√2, b/(2a) = 1/2。如果嫌誤差太大,以下提供兩個縮小的妙招:
其一、
把先前算出的近似值1.5當作a, 再算一遍,
b= 2–(1.5) 2 = –0.25
得√2≒ 1.5 – 0.25/3 = 4.25/3 = 1.4166…
其二、
國中學根式運算時,知道
這個根號前的5倍,可以換作其他適當的整倍數,能使計算出來的b/(2a)越接近0越好。
以下提供練習題,供手癢者玩玩,利用本公式求出有理數近似值:
(1) √37≒
(2) √287≒
註:有關平方展開公式,歡迎參閱拙作<舊業重溫5--又連乘又開根號,超大數求平方根問題>