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

📄 ch7_2_1.java

📁 Java环境下实现的数值分析程序
💻 JAVA
字号:
class ch7_2_1{
    static double f1(double x,double y1,double y2){
		return 120.0-2.0*y1+2.0*y2;
	}
	static double f2(double x,double y1,double y2){
		return 2.0*y1-5.0*y2;
	}
		
	static void Runge_Kutta(double x0,double u,double v,double xn,int n){
		double K1=0.0;
		double K2=0.0;
		double K3=0.0;
		double K4=0.0;
		double L1=0.0;
		double L2=0.0;
		double L3=0.0;
		double L4=0.0;
		double x=x0;
		double y1=u;
		double y2=v;
		double h=(xn-x0)/n;
		System.out.println("x[0]="+x+" "+"y[1]="+y1+" "+"y[2]="+y2);
		for(int i=1;i<=n;i++){
			K1=f1(x,y1,y2);
			L1=f2(x,y1,y2);
			K2=f1(x+((xn-x0)/n)/2.0,y1+((xn-x0)/n)*K1/2.0,y2+((xn-x0)/n)*L1/2.0);
			L2=f2(x+((xn-x0)/n)/2.0,y1+((xn-x0)/n)*K1/2.0,y2+((xn-x0)/n)*L1/2.0);
			K3=f1(x+((xn-x0)/n)/2.0,y1+((xn-x0)/n)*K2/2.0,y2+((xn-x0)/n)*L2/2.0);
			L3=f2(x+((xn-x0)/n)/2.0,y1+((xn-x0)/n)*L2/2.0,y2+((xn-x0)/n)*L2/2.0);
			K4=f1(x+((xn-x0)/n),y1+((xn-x0)/n)*K3,y2+((xn-x0)/n)*L3);
			L4=f2(x+((xn-x0)/n),y1+((xn-x0)/n)*K3,y2+((xn-x0)/n)*L3);
			y1=y1+h*(K1+2*K2+2*K3+K4)/6.0;
			y2=y2+h*(L1+2*L2+2*L3+L4)/6.0;
			x=x0+i*(xn-x0)/n;
			System.out.println("x["+i+"]="+x+" "+"y1["+i+"]="+y1+" "+"y2["+i+"]="+y2);
		}
	}
	public static void main(String []args){
		double xn=1.0;
		double x0=0.0;
		double u=0.0;
		double v=0.0;
		int n=10;
		Runge_Kutta(x0,u,v,xn,n);
	}
}

⌨️ 快捷键说明

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