欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

[Swift算法]巴比伦法(牛顿迭代法)求平方根

发布时间:2025/3/21 编程问答 39 豆豆
生活随笔 收集整理的这篇文章主要介绍了 [Swift算法]巴比伦法(牛顿迭代法)求平方根 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

 

数学原理推导: f(X) = X2 - n   ---公式(1) n为要求平方根的数值 比如 要求100的平方根 n = 100; 所以问题就转换成了求f(X)的零点问题了 f(Xn)的导数就是Xn+1 的斜率 所以就有了公式  所以 Xn+1 = Xn - f(Xn)/f'(Xn) 代入 公式1  f(Xn)=X2  -n f'(Xn)=2X Xn+1 = Xn - (Xn- n) / (2Xn) = Xn - 1/2 (Xn-n / Xn) = 1 / 2 (Xn + n / Xn)  Xn 是被猜测的数字 n 是要求平方根的数值 经过多次迭代之后 Xn Swift 实现代码:  import UIKitfunc babylonianMethod (toSqrt number: Double, epsilon: Double) -> Double{// epsilon 是精度控制var Xn0: Double = 1var Xn1: Double = (Xn0 + number / Xn0) / 2while( fabs(Xn0 - Xn1) > epsilon) {Xn0 = Xn1Xn1 = (Xn0 + number / Xn0) / 2}return Xn1}babylonianMethod(toSqrt: 2, 1e-10)

 

转载于:https://www.cnblogs.com/baaingSheep/p/4696329.html

总结

以上是生活随笔为你收集整理的[Swift算法]巴比伦法(牛顿迭代法)求平方根的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。