欢迎光临散文网 会员登陆 & 注册

用牛顿迭代法求方程:2x3-4x2+3x-6=0在1.5附近的根(精度:10-5)

2022-06-14 08:16 作者:爬虫learner  | 我要投稿

什么是牛顿迭代法?

牛顿迭代法介绍





求方程的根,可以转换为求函数f(x)=2x3-4x2+3x-6的根

根据牛顿切线迭代法,我们可以设x0=1.5,

设切线方程为:y=kx+b

K=f(x)求导=F(x)

切线方程过点(x0,f(x0))得:f(x0)=kx0+b,可知b=f(x0)-kx0;

求切线方程与x轴的焦点x1的值:0=kx1+b,得x1=-(b/k),将b和k带入得:

x1=-( f(x0)-kx0)/ F(x)=-( f(x0)- F(x)*x0)/ F(x)=x0-f(x0)/F(x0)

程序循环部分:

将x1的值存入x0,根据x1的公式求出下一个x1的值。

循环结束条件:x1-x0的绝对值小于10-5

当循环结束时,输出方程的根x1。

程序代码如下:

//习题5.14用牛顿迭代法求方程在1.5附近的根

#include<stdio.h>

#include<math.h>

int main()

{

      double x0,x1,f,f1;

      x1=1.5;

      do

      {

            x0=x1;

            f=(((2*x0-4)*x0)+3)*x0-6;

            f1=(6*x0-8)*x0+3;

            x1=x0-f/f1;

      }while(fabs(x1-x0)>1e-5);

      printf("the root of equation is %5.2lf",x1);// the root of equation:方程的根/解

      return 0;

 }


用牛顿迭代法求方程:2x3-4x2+3x-6=0在1.5附近的根(精度:10-5)的评论 (共 条)

分享到微博请遵守国家法律