埃特金加速.cpp

来自「埃特金加速法,一个数值分析中的算法,大家先看看哦」· C++ 代码 · 共 38 行

CPP
38
字号
# include <iostream.h>
# include <math.h>
double f (double x)
{
	double x1=exp(-x);
	return x1;
}
void main ()
{
	double x0,e,x1,x2;
	int N,k=0,i=1;
	cout<<"请输入初值,误差限,迭代次数:\n";
	cin>>x0>>e>>N;
	while (i)
	{
		x1=f(x0);
		x2=f(x1);
		x2=x2-(x2-x1)*(x2-x1)/(x2-2*x1+x0);
		if ((x0-x2)<e && (x2-x0)<e)
		{
			i=0;
			break;
		}
		else if (k==N)
			    break;
	    	else
			{
				cout<<x2<<"    "<<x0<<endl;
	    		k++;
	    		x0=x2;
			}
	}
	if (i==0)
		cout<<"方程的解为:\n"<<x2<<endl;
	else
		cout<<"迭代失败!\n";
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?