//牛顿迭代法求平方根 1 double mysqrt(double num)
 2 {
 3     double x = num/2;
 4     double y = 0;
 5     do{
 6         x = x/2+num/(2*x);
 7         y = x*x-num;
 8         if(y<0) y = -y;
 9     }    while(y>0.0001);
10     return x;
11 }
12 int main(int argc, char* argv[])
13 {
14     printf("%.3f",mysqrt(2));//1.414
15     return 0;
16 }

下面这段解释是从别的地方摘过来的,为了方便查看转了过来:

这种算法的原理很简单,我们仅仅是不断用(x,f(x))的切线来逼近方程x^2-a=0的根。根号a实际上就是x^2-a=0的一个正实根,这个函数的导数是2x。也就是说,函数上任一点(x,f(x))处的切线斜率是2x。那么,x-f(x)/(2x)就是一个比x更接近的近似值。代入f(x)=x^2-a得到x-(x^2-a)/(2x),也就是(x+a/x)/2。

转载于:https://www.cnblogs.com/jwk000/p/4285058.html

经典算法:牛顿迭代法求平方根相关推荐

  1. 【算法】牛顿迭代法求平方根的原理和误差分析

    前言 在<算法(第四版)>中的P23页,给出了经典的利用牛顿迭代法求平方根的算法,牛顿迭代法在数值计算中应用十分广泛,但是在看书中的代码时,我最困惑的是其中对收敛条件的判断,经过查阅资料和 ...

  2. 牛顿迭代法求平方根原理

    牛顿迭代法可以求解n次方的根,但这里只讨论用它来求平方根. 牛顿迭代法求平方根过程 Java代码实现 /*** 求一个数的平方根* @param number* @return*/public sta ...

  3. 141. Sqrt(x)【牛顿迭代法求平方根 by java】

    Description Implement int sqrt(int x). Compute and return the square root of x. Example sqrt(3) = 1 ...

  4. 牛顿迭代法求平方根倒数

    牛顿迭代法,第二次看了,发现几乎又是从头开始搜集资料,不如整理记录一下,也和大家分享一下: 牛顿迭代法的核心思想是:切线是曲线的线性逼近,通过迭代求切线最后找到函数近似解的过程.具体可以参考下面这个文 ...

  5. Python:牛顿迭代法求平方根

    #69573 牛顿迭代法求平方根[光]-函数复用#69573 牛顿迭代法求平方根描述牛顿迭代法(Newton's method)又称为牛顿-拉夫逊(拉弗森)方法(Newton-Raphson meth ...

  6. 牛顿方法求平方根c语言,C语言之基本算法11—牛顿迭代法求平方根

    //迭代法 /* ================================================================== 题目:牛顿迭代法求a的平方根!迭代公式:Xn+1 ...

  7. python牛顿迭代法求平方根_Newton迭代法求平方根

    牛顿迭代法求根 (即曲线与x坐标轴交点) : 在曲线的一点P1(a, f(a)), 做切线, 切线与x轴, 相交于 A 点, A点做垂线 与曲线交于 P2(b, f(b)) 点, 在P2点继续做切线, ...

  8. 牛顿迭代法-求平方根

    牛顿迭代法 求出根号a的近似值:首先随便猜一个近似值x,然后不断令x等于x和a/x的平均数,迭代个六七次后x的值就已经相当精确了.  例如,我想求根号2等于多少.假如我猜测的结果为4,虽然错的离谱,但 ...

  9. 如何用牛顿迭代法求平方根

    设函数y=f(x)在点x0的某个邻域内有定义,当自变量x在x0处有增量Δx,(x0+Δx)也在该邻域内时,相应地函数取得增量Δy=f(x0+Δx)-f(x0):如果Δy与Δx之比当Δx→0时极限存在, ...

最新文章

  1. jdbc 日期时间相关的类型
  2. python上传文件到windows_python自动化-WinSpy+pywin32文件上传操作
  3. 数据结构与算法 | 循环队列
  4. oracle linux rdac,redhat 6.4 安装RDAC
  5. rabbin负载均衡
  6. CSS样式表的规划与组织
  7. Redis整合Springboot实现数据共享
  8. 的产品很好为什么卖不好?
  9. OCR图文识别工具Mac版:iText
  10. Linux ubuntu centos Shell命令大全
  11. C# 利用NPOI 实现Excel转html
  12. 数据丢失与重复_面试官:如何保证消息的可靠性传输?如何处理消息丢失的问题?...
  13. 常见的宏观经济指标介绍
  14. Springboot实现多数据源整合的两种方式
  15. 【python】我用30行代码实现了小米新logo的制作
  16. 我和后端因为接口吵起来啦,还列了 5 锅罪
  17. APP手机测试-理论
  18. 完成领导交代的任务并及时反馈,才叫真的完成任务
  19. 如何比较好的规避拼多多纠纷退款的技巧?天创速盈来说
  20. JAVA与PLC通讯读取数据(两种方式)

热门文章

  1. 《2022博客之星拉票专用帖》
  2. hdu1589(枚举+并查集)
  3. 【译】Construction of a Plasma Chain 0x1
  4. 以太坊智能合约生命周期(Ethereum smart contracts lifecycle)
  5. Caffe 初识,揭开面纱
  6. ICLR 2017 | Attention 和 Memory Networks
  7. Hyperledger Fabric 排序服务核心原理和工作过程
  8. java 浮点数精度_Java中浮点数精度问题
  9. ubuntu14.04,安装JDK1.8(JAVA程序需要的开发、运行环境)
  10. Qt5 中 关于Widget Mapper的简单应用