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

📄 runge_kutta.cpp

📁 数值分析的实验报告
💻 CPP
字号:
#include<iostream>
#include<cmath>
using namespace std;
#define N 9											//step length
#define E 0.00001									//presicion 10-5
double f(double,double);
double g(double);
void Euler(double,double,double *,double *);
void Implicit_Euler(double,double,double *,double *);
void R_K(double,double,double *,double *);
double h1=0.1;
double g(double x)							//y=g(x)
{return pow(((x*x+2)/3),3.0/2);}
double f(double x,double y)
{return fabs(sin(2*x));}
void R_K(double x0,double y0,double *X,double *Y)
{
	double K1,K2;
	X[0]=x0+h1;
	K1=f(x0,y0);
	K2=f(x0+h1/2,y0+h1*K1/2);
	Y[0]=y0+h1*K2;
	for(int i=1;i<N;i++)
	{
		X[i]=X[0]+i*h1;
		K1=f(X[i-1],Y[i-1]);
		K2=f(X[i-1]+h1/2,Y[i-1]+h1*K1/2);
		Y[i]=Y[i-1]+h1*K2;
	}
}
int main()
{
	double x0=0,y0=1;
	double X[N],Y[N];
	int i;

	R_K(x0,y0,X,Y);
	for(i=0;i<N;i++)
		cout<<X[i]<<"  "<<Y[i]<<endl;
	cout<<endl;
	return 0;
}

⌨️ 快捷键说明

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