04.cpp

来自「龙格-库塔方法的使用」· C++ 代码 · 共 43 行

CPP
43
字号
#include <iostream.h>
#include <math.h>

float f(float x,float y)
{
	float f,f2,f3;
	f=y-2*x/y;
	return f;
}

main()
{   
	int n,N;
	float x0,y0,h,x1,y1,k1,k2,k3,k4;
    cout<<"实验四 Runge-Kutta(龙格-库塔)方法"<<endl<<endl;
	cout<<"方程:y'=y-2x/y"<<endl<<endl;
	cout<<"请输入x0:";
	cin>>x0;
    cout<<"请输入y0:";
	cin>>y0;
	cout<<"请输入步长h:";
	cin>>h;
	cout<<"请输入方程数n:";
	cin>>N;
	n=1;
	cout<<endl<<"计算结果:"<<endl;
    cout<<"x[0]="<<x0<<"  y[0]="<<y0<<endl;
	do
	{
		x1=x0+h;
		k1=f(x0,y0);
		k2=f(x0+h/2,y0+h/2*k1);
		k3=f(x0+h/2,y0+h/2*k2);
		k4=f(x0+h,y0+h*k3);
		y1=y0+h/6*(k1+2*k2+2*k3+k4);
		cout<<"x["<<n<<"]="<<x1<<"  y["<<n<<"]="<<y1<<endl;
	    n++;
		x0=x1;
		y0=y1;
	}
	while(n!=N);
    cin>>n;
}

⌨️ 快捷键说明

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