使用不动点显示平方根

大卫542

通过 SICP 的练习,它将不动点定义为满足方程 F(x)=x 的函数。并迭代以查找函数停止更改的位置,例如F(F(F(x))).

我不明白的是,例如 9 的平方根与此有什么关系。

例如,如果我有F(x) = sqrt(9),显然 x=3。然而,这与做有什么关系:

F(F(F(x))) --> sqrt(sqrt(sqrt(9)))

我相信它会收敛到零:

>>> math.sqrt(math.sqrt(math.sqrt(math.sqrt(math.sqrt(math.sqrt(9))))))
1.0349277670798647

因为当 x=1 时 F(x) = sqrt(x)。换句话说,求一个常数的平方根和求函数的不动点有什么关系?

tf3

例如,在计算一个数的平方根时a,您本质上有一个形式为 的方程x^2 - a = 0也就是说,要找到 的平方根a,您必须找到x这样的x^2 = a或者x^2 - a = 0- 将后一个方程称为(1)。(1) 中给出的形式是一个方程,其形式为g(x) = 0,其中g(x) := x^2 - a

要使用定点方法计算此方程的根,您必须对现有方程进行一些细微的修改,并将其转化为 形式f(x) = x一种方法是将 (1) 重写为 x = a/x -- 称之为 (2)。现在在 (2) 中,您已经获得了通过定点法求解方程所需的形式:f(x) 是 a/x。

请注意,此方法要求等式两边都有一个“x”项;该形式的方程sqrt(a) = x不符合规范,因此无法使用定点方法(迭代地)求解。

我不明白的是,例如 9 的平方根与此有什么关系。

例如,如果我有 F(x) = sqrt(9),显然 x=3。然而,这与做有什么关系: F(F(F(x))) --> sqrt(sqrt(sqrt(9)))

这些是非线性方程根数值计算的标准方法,本身就是一个相当复杂的主题,通常在工程课程中涵盖。因此,如果您没有掌握“窍门”,请不要担心,作者可能认为这是迭代解决问题的一个很好的例子。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章