⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 亚当姆斯.cpp

📁 亚当姆斯算法,一个数值分析中的算法,大家先看看哦
💻 CPP
字号:
# include <iostream.h>
double f(double x,double y)
{
	double a=y-2*x/y;
	return a;
}
void main ()
{
	double x,y,x1,y1,h,k1,k2,k3,k4,x2,x3,x4,y2,y3,y4,x0,y0,y11,y21,y31,y41,y01,yp,yp1;
	int N,n,b=0,i;
	cout<<"please input x,y,h,N:\n";
	cin>>x>>y>>h>>N;
	x0=x;
	y0=y;
	for (i=1;i<4;i++)
	{
		if (b==1)
		{
			x=x1;
	    	y=y11;
		}
		x1=x+h;
		k1=f(x,y);
		k2=f(x+h/2,y+h*k1/2);
		k3=f(x+h/2,y+h*k2/2);
		k4=f(x1,y+h*k3);
		y11=y+h*(k1+2*k2+2*k3+k4)/6;
		if (i==1)
			y1=y11;
		if (i==2)
			y2=y11;
		if (i==3)
			y3=y11;
		b=1;
	}
	x=x0;
	y=y0;
	x1=x+h;
	x2=x1+h;
	x3=x2+h;
	y01=f(x,y);
	y11=f(x1,y1);
	y21=f(x2,y2);
	y31=f(x3,y3);
	n=4;
	while (b)
	{
		x4=x3+h;
		yp=y3+h*(55*y31-59*y21+37*y11-9*y01)/24;
		yp1=f(x4,yp);
		y4=y3+h*(9*yp1+19*y31-5*y21+y01)/24;
		y41=f(x4,y4);
		cout<<"x="<<x4<<"   y="<<y4<<endl;
		if (n!=N)
		{
			n=n+1;
			x3=x4;
			y3=y4;
			y01=y11;
			y11=y21;
			y21=y31;
			y31=y41;
		}
		else
			b=0;
	}
}

⌨️ 快捷键说明

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