用C语言编程牛顿迭代法求方程近视根sinx=0(3<x<4),小数点后100位收敛

Python015

用C语言编程牛顿迭代法求方程近视根sinx=0(3<x<4),小数点后100位收敛,第1张

#include<stdio.h>

#include<math.h>

int main()

{

float x1,x,f1,f2static int count=0

x1=1.5//定义初始值

do

{

x=x1

f1=x*(2*x*x-4*x+3)-6

f2=6*x*x-8*x+3//对函数f1求导

x1=x-f1/f2 count++

}while(fabs(x1-x)<=1e-5)

printf("%8.7f\n",x1)printf("%d\n",count)

return 0

}

//2x3-4x2+3x-6//根据我改了初始值,查看结果,表明:改变初始值得到的结果并不一样,但是迭代的次数并没有改变!!

sum2收敛。

程序有点小问题,每次输入循环次数之后,需要重新初始化sum1、sum2及y的值,即在while(1==scanf("%d",&a)){后加上sum1=0.0sum2=0.0y=1