首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

程序与数学:牛顿迭代法与平方根近似计算

编程任务:编写一个程序,任意给定一个正实数,计算该实数的近似平方根。 编程要点: ① 理解牛顿迭代法; ②掌握使用牛顿迭代法计算任意正实数近似平方根的算法。...算法思路 可以设任意正实数为a,a的平方根为x,列出等式: 变换为方程V: 这个等式是一元二次方程,解方程即可求得x。现在正实数平方根计算问题已转换为解一元二次方程问题。...牛顿迭代法 先前掌握的解一元二次方程的公式用到了开方,即平方根计算,因此在计算平方根时,不能使用解一元二次方程的公式。...小于指定的数值,则认为x1为方程V的近似根,执行第④个步骤,否则继续执行迭代; ④ 返回x1,迭代结束 Python代码清单 import math # 计算实数平方根的方程 def f1(x,a):...return x*x-a # 计算实数平方根方程的导函数 def f2(x): return 2*x # 计算实数的平方根 def sqrt(a): # x0为方程的初始值

1.4K20
您找到你想要的搜索结果了吗?
是的
没有找到

牛顿迭代法与二分法计算平方根

因为不是科班出身,所以即使编程一段时间也时常感觉自身基础知识非常不扎实,于是在最近开始补习算法和计算机理论的基础知识。...今天要准备写的就是非常经典的牛顿迭代法求平方根,事实上现在的绝大部分编程语言中,标准库中都已经为我们准备好了计算平方根的函数,但是本着学习的精神,今天我们也要写出一个求平方根的函数。...而求平方根的方程我们可以看成f(x) = x^2 - a,a即为我们要求平方根的常数。...,而接下来为了体现牛顿迭代法的优势,我们再写一个二分法计算平方根的算法,来对比: public static double DichotomySqrt(double number, double...3次,二分法计算了10次。

1.7K20

平方根的C语言实现(二) —— 手算平方根的原理

要说手算平方根,原理其实非常简单,   一是平方根函数是严格单调增函数,   二就是以下这个恒等式满足   (a*N+b)2 ≡ (a*N)2 + 2*a*b*N + b2       ≡ (a*N)2...我们来求5499025的平方根。   ...先将5499025两位两位从低往高排,为   5 49 90 25   2*2<5<3*3   所以最高位为2,   然后我们再来看549的平方根,   我们假设549的平方根的整数部分是2*10+b,...+ b),   464 * 4  < 2090 < 465 * 5   所以b=4,   54990的平方根整数部分为234,   最后再来看5499025的平方根的整数部分,假设为234 * 10...举个例子,我们来算121的平方根,也就是二进制下1111001的平方根

2.1K90

平方根倒数快速算法

单位向量时需要用到平方根倒数,而计算单位向量在游戏引擎中会大量使用,属于底层代码,因此其效率将会直接影响游戏体验。...位操作 float无法进行位操作,而long可以,并且都是4字节,因此可以把float*转换成long*来进行位操作. float y = number; long i = *(long *) &y; 计算...y的平方根倒数,就是计算y的-0.5次方,直接计算的效率低下,但是我们已经发现可以用log的方法来加速计算....代进原方程,得到y≈0.528766,x≈0.442695 相减,得到μ=(y-x) / 2 = 0.0430355 将这个μ的值代入表达式,计算结果转换为十六进制,就是0x5F3759DF i = 0x5F3759DF...设y是x的平方根倒数,则函数表达式为 转换为x关于y的函数,得到 利用牛顿迭代法 带入Xn=y,得到 化简 得到最后一行代码. y = y * (threehalfs - (x2 * y

88110

JS】527- 关于 JS 中的浮点计算

原文地址:http://eux.baidu.com/blog/fe/关于js中的浮点运算 ?...稍微有经验大概能反应出来这是存储时数据长度截取产生的原因,但是具体是计算机怎么计算的呢,自己也解释不清,于是带着好奇稍微探索了一下。...浮点数在计算机中的存储 IEEE标准 首先科普一下 js 中使用的二进制浮点数算术标准 IEEE_754 他采用的存储格式为: E = (-1)^ × M × ^E (-1)^s表示符号位,当s=0,...另外,由于js并没有特别区分整型和浮点型,实际上整型在 js 里面也是用浮点数的结构存储的,不过放在了尾数部分,以便于在计算过程总能随意自由切换。...那要怎么在 js 中尽可能准确的计算出结果,以及怎么判断两个小数是否相等呢,敬请期待下回分解~ 参考资料 IEEE_754-1985 how to round binary fractions 浮点数的二进制表示

1.9K20
领券