runge_kutta71.java.bak

来自「数值分析之计算方法与实验7:常微分方程数值解法 by java」· BAK 代码 · 共 27 行

BAK
27
字号
//四阶龙格-库塔公式

class Runge_Kutta71{
  static void RK(double a,double b,double y0,int n){
    double x=a,y=y0,k1,k2,k3,k4;
    double h=(b-a)/n;
    int i;
    System.out.print("x[0]="+a+" y[0]="+y0+"\n");
    for(i=1;i<=n;i++){
      k1=f(x,y);
      k2=f(x+h/2,y+h*k1/2);
      k3=f(x+h/2,y+h*k2/2);
      k4=f(x+h,y+k3*h);
      y=y+h*(k1+2*k2+2*k3+k4)/6;
      x=a+i*h;
      System.out.print("x["+i+"]="+x+" y["+i+"]="+y+"\n");
    }
  }
  static double f(double x,double y){
    return x*x+y*y;
   }   
   public static void main(String[]args){
        double xn=1.0;double x0=0.0;double y0=0.0;
        RK(x0,xn,y0,10);
   }
}               

⌨️ 快捷键说明

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