一块长条花园,怎样一步步变成正方形?
面积不变,调整两条边,亲眼看见“越猜越准”。
你有 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 章