加速迭代.cpp
来自「Gauss,加速迭代,拉格朗日插值法,龙贝格算法,牛顿迭代算法」· C++ 代码 · 共 31 行
CPP
31 行
#include<stdio.h>
#include<math.h>
float y(float x0)
{return pow(1+x0,1.0/3);
}
float yd(float x0)
{return -1.0/3*pow(1+x0,-2.0/3);
}
float x(float x0,float c)
{return 1.0/(1-c)*(y(x0)-c*x0);
}
void main()
{float x0=1.5,x1,c;
printf("求x(3)-x-1=0在[1,2]的根,误差10(-3).\n");
c=yd(x0);
x1=x(x0,c);
for(;1;)
{if(fabs(x1-x0)>=1e-3)
{x0=x1;
x1=x(x0,c);}
else break;
}
printf("%f",x1);
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?