📄 steffensen加速迭代法.txt
字号:
#include<iostream.h>//Steffensen加速迭代法
#include<cmath>
double f(double x);
double g(double x);
double ABS(double x);
double power(double x,int n);
void main()
{
double x,y;
cout<<"请输入初始值x0=";
cin>>x;
int n=1;
while(1)
{
y=x-power(g(x)-x,2)/(g(g(x))-2*g(x)+x);
if(ABS(y-x)<=1e-5)
{
cout<<"求得f(x)=0的根为:"<<"x"<<n-1<<"="<<y<<endl;
cout<<"在计算精度为10^(-5)的条件下,迭代次数为:"<<n<<endl;
break;
}
else
{
x=y;
n++;
}
}
}
double power(double x,int n)
{
double val=1;
while(n--)
val*=x;
return val;
}
double ABS(double x)
{
if(x>=0)
x=x;
else
x=-x;
return x;
}
double f(double x)
{
double y;
y=power(x,3)-x-1;
return y;
}
double g(double x)
{
double y;
y=power(x,3)-1;
return y;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -