加速迭代.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 + -
显示快捷键?