steffensen迭代法.txt

来自「Steffensen迭代法 Steffensen迭代法」· 文本 代码 · 共 39 行

TXT
39 行
字号
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 + =
减小字号Ctrl + -
显示快捷键?