📄 steffensen迭代法.txt
字号:
Steffensen迭代法:
#include<iostream.h>
#include<math.h>
#include <iomanip.h>
double Steffensen(double);
int main()
{
cout<<setprecision(10);
double x1=1.0,x2=0.0,x3=0.0,x4=0.0,d=2.0;//d为误差
int n=0;
while(d>=0.0000005)
{
cout<<"迭代初值为 x1="<<x1<<endl;
x2=Steffensen(x1);
x3=Steffensen(x2);
x4=x1-((x2-x1)*(x2-x1))/(x3-2*x2+x1);
cout<<"迭代值为 x4="<<x4<<endl;
d=x4-x1;
if(d<0)
d=-d;
cout<<"误差为 d="<<d<<endl<<endl;
x1=x4;
n++;
}
cout<<"迭代次数为 n="<<n<<endl;
cout<<"此方程的实根为 x4="<<x4<<endl; //输出最终结果
return 0;
}
double Steffensen(double x)
{
double a,b,x1;
a=x*x*x;
b=x*x;
x1=(20-2*b-a)/10;
return x1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -