Hello 天文

自動翻譯,請以簡體中文原文校核。

一塊長條花園,怎麼一步步變成正方形?

面積不變,調整兩邊,親眼看見「越猜越準」。

通用演算法與數值計算

你有 159 平方公尺的土地,想圍成正方形。先隨手定一邊,另一邊就用「面積 ÷ 邊長」算出來。兩邊不相等?取它們的平均值,再試一次。

開啟互動課程 →

先猜一下

想把固定面積的長方形變成正方形,最後兩邊應該?

查看答案與解釋

一樣長 — 正方形的兩條相鄰邊相等,面積仍然是同一個數。

再把體驗和科學連結起來

把未知邊長換成猜測

藍點是猜測 x,灰點是 159/x。兩者乘起來總是 159,但往往還不是正方形。

長 × 寬 = x × (159/x) = 159

兩條邊向中間靠攏

若一條偏短,另一條就偏長。把它們取平均,當作下一次的邊長猜測。

x新 = (x舊 + 159/x舊) / 2

重複同一條規則

改變修正次數,觀察兩點逐漸重合。初值不同會影響需要多少步,不改變這題的正平方根。

12 → 12.625 → 12.6095297 → …

代回原問題檢查

不只看最後兩次數字像不像:把目前邊長平方,看看與 159 還差多少。

殘差 = x² − 159

把計算鏈展開

xₙ₊₁ = (xₙ + N/xₙ)/2 rₙ = xₙ² − N

N=159;從正數起步。先算 N/x,再與舊 x 取平均。殘差接近零,表示平方接近目標,不等於所有位數都準確。

試一試

把初值從 12 換成 1,逐步增加修正次數。六步是否已經達到你想要的精準度?

動手看一遍 →

符號不用背

x
目前的正邊長猜測
159/x
保證長方形面積為 159 的另一邊
殘差
把候選答案代回原方程式後剩下的差

演算法、精確度與適用範圍

第 5 章例 5.a,印刷頁 48。這裡只示範正數平方根的迭代,不能據此斷言任意迭代都收斂。初值限定為正,最多展示六步,不把「步數用完」稱為「達到精度」。獨立驗證使用二分求根、書中逐步值和殘差;AA+ 的 AAKepler 是另一個迭代應用,但不是本例實現。

我的理解檢查

每次調整後,花園面積變了嗎?

沒有,仍是 159 — 另一條邊總用 159 除以第一條邊,所以面積總是保持。

兩邊分別為 12 和 13.25,取平均數是多少?

12.625 — 把兩數相加再除以 2。

畫起來很像正方形,就能保證每個小數都正確嗎?

不能,還要檢查誤差 — 圖只幫助建立直覺;足夠精細的結果要用兩邊差值或代回方程式檢查。

先試一個答案,用規則修正它,再檢查結果;這就是「逐次逼近」的直覺。

Jean Meeus · Astronomical Algorithms, 2nd ed. · 第 5 章

通用演算法與數值計算 · 全部互動課程