用牛顿迭代法求平方根

作者: tingshuo123 | 来源:发表于2017-07-25 13:10 被阅读45次

欲求 a 的平方根, 首先要随便猜测一个值, 在这里我们其值 X₁ = a / 2 作为其平方根, 然后根据下面的迭代公式算出X₂, 再将 X₂ 带入公式左边计算出 X₃ …… 直到连续两次算出的 Xn 和 Xn-1 的差的绝对值小于某个值 ε,即认为找到了足够精确的平方根,其 ε 的值取得越小, 计算出的平方根就乐精确。

迭代公式:

公式.jpg

具体实现:

#include <iostream>
#include <cstdio>
using namespace std;
double EPS = 0.01;  // 用以控制计算精度

int main(void)
{
    double a;
    cin >> a;
    
    if (a >= 0 ) {
        double x = a/2;
        double last_x;
        do {        // 确保能够进行至少一次迭代 
            last_x = x;
            x = (x + a/x)/2;
        } while (x - last_x > EPS || last_x - x > EPS); // 精度未达到要求就继续迭代
        cout << x;
    } else {
        cout << "It can't be nagitive.";
    }
    
    return 0;
} 

相关文章

  • 牛顿迭代法

    如何用牛顿迭代法求一个数的平方根(立方根)   对于  对于该方程的求解,可以用牛顿迭代法求近似解   设r是f(...

  • 2018-12-26 牛顿法求解平方根

    用牛顿法求平方根

  • 求平方根算法-牛顿迭代法

    tag 牛顿迭代法 计算平方根 算法 只有一个公式,假设求的是n的平方根,k为最终结果k = (k + x ...

  • 用牛顿迭代法求平方根

    欲求 a 的平方根, 首先要随便猜测一个值, 在这里我们其值 X₁ = a / 2 作为其平方根, 然后根据下...

  • 数据结构与算法:python语言描述 裘宗燕 Day1

    1.设法证明求平方根的牛顿迭代法一定收敛。 数解思路: 求得c=(n-a/n)/2 可知,c是无限趋近于平方根的点...

  • C语言 川大复试 笔记

    命令行, 6_11 迭代法平方根e 6_12牛顿法求方程根 6_13二分法求fangchenggen 6_1 最大...

  • 牛顿迭代法求平方根

    牛顿迭代法的作用是使用迭代法来求解函数方程的根,简单的说就是不断地求取切线的过程.对于形如f(x)=0的方程,首先...

  • 图解- 牛顿迭代法求平方根

    https://leetcode-cn.com/problems/sqrtx/submissions/[https...

  • 1.3求根之牛顿迭代法

    目录 [TOC] 前言 今天我们讲的是具有收敛速度快,能求重根的解方程之法,牛顿迭代法。 (一)牛顿迭代法的分析 ...

  • 迭代法求平方根

    问题 求正整数的平方根。 思路 用迭代法解决此问题。其实本题没啥难理解的,因为有个现成的公式,它是用于迭代的,能求...

网友评论

    本文标题:用牛顿迭代法求平方根

    本文链接:https://www.haomeiwen.com/subject/ddywkxtx.html