📄 ch7_2_1.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 + -