📄 newton迭代法.c
字号:
/* 标准文档模板 */
#include "Stdio.h"
#include "math.h"
float fun(float x)
{float y;
y=(x-1)*(x-1)*(2*x-1);
return y;}
float fund(float x)
{float z;
z=2*(x-1)*(2*x-1)+2*(x-1)*(x-1);
return z;}
float fun1(float x0)
{float x1,y,z;
y=fun(x0);
z=fund(x0);
x1=x0-2*y/z;
return x1;
}
int comp(float a,float b)
{float c;
if (a>0)
{c=a-b;
{if (c>0)
return 1;
else return 0;}
}
else
{c=-a-b;
{if (c>0)
return 1;
else return 0;}
}
}
main()
{
/* 此处添加你自己的代码 */
float x1,x0=0.55,a2=0.000001,a1=0.000001,n=50;
int k=1;
while((k<n)&(comp(fun(x0),a1)==1))
{x1=fun1(x0);
if(comp((x1-x0),a2)==0)
{printf("%f",x1);
break;}
else {x0=x1;k++;}
}
printf("k=%d",k);
if(comp(fun(x0),a1)==0)
printf("qiyi fun(x0)%f\nx0=%f",fun(x0),x0);
if(k==n)
printf("shibai");
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -