📄 runge_kutta72.java.bak
字号:
//四阶龙格—库塔公式
class Runge_Kutta72{
static void RK(double a,double b,double y10,double y20,int n){
double x=a,y1=y10,y2=y20,k11,k12,k13,k14,k21,k22,k23,k24;
double h=(b-a)/n;
int i;
System.out.print("x[0]="+a+"\ty1[0]="+y10+"\ty2[0]="+y20+"\n");
for(i=1;i<=n;i++){
k11=f1(x,y1,y2);
k21=f2(x,y1,y2);
k12=f1(x+h/2,y1+h*k11/2,y2+h*k21/2);
k22=f2(x+h/2,y1+h*k11/2,y2+h*k21/2);
k13=f1(x+h/2,y1+h*k12/2,y2+h*k22/2);
k23=f2(x+h/2,y1+h*k12/2,y2+h*k22/2);
k14=f1(x+h,y1+h*k13,y2+k23*h);
k24=f2(x+h,y1+h*k13,y2+k23*h);
y1=y1+h*(k11+2*k12+2*k13+k14)/6;
y2=y2+h*(k21+2*k22+2*k23+k24)/6;
x=a+i*h;
System.out.print("x["+i+"[="+x+"\ty1["+i+"]="+y1+"\ty2["+i+"]="+y2+"\n");
}
}
static double f1(double x,double y1,double y2){
return 120-2*y1+2*y2;
}
static double f2(double x,double y1,double y2){
return 2*y1-5*y2;
}
public static void main(String[]args){
RK(0.0,1.0,0.0,0.0,10);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -