?? 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<<"迭代次數(shù)為 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 + -