美文网首页
牛顿迭代

牛顿迭代

作者: 优劣在于己 | 来源:发表于2020-11-12 08:26 被阅读0次

    牛顿迭代:
    例题为求平方根:
    若x*x=n,求x;
    设f(x)=x*x-n;
    画图可得;
    当xn这点做切线,切向处与x轴相交的x(n+1)接近与x的值;
    当x(n+1)再做切线时,再接近,最终,当xn-x(n+1)<0.00001 则近似与x;
    f(xn)/(xn-x(n+1))=f(x)'
    x(n+1)=xn-f(xn)/f(xn)'
    将f(x)带入;
    x(n+1)=1/2*(xn+n/xn)

    //牛顿迭代
    #include<stdio.h>
    #include<math.h>
    int main(){
    int n=4;
    int coun=0;
    double xn=n+1;
    double newxn=n;
    while(fabs(xn-newxn)>0.00001)//精度小于则执行
        {
        xn=newxn;
        newxn=0.5*(xn+n/xn);
        coun++;
    }
    printf("%lf  %d\n",xn,coun);
    return 0;
    }
    

    相关文章

      网友评论

          本文标题:牛顿迭代

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