рунге кутт



Дата16.12.2019
өлшемі13,44 Kb.
#53652
Байланысты:
рунге кутт
ТЕСТ КАЗ ТІЛ
public class Main {
public static double F(double x, double y){
return 3*Math.sin(2*y)+x;
}

public static void main(String[] args) {


double a=0; double b=1; double h=0.1;
double n=(b-a)/h;
double X[]=new double[(int) n+1];
double k1[]=new double[(int) n+1];
double k2[]=new double[(int) n+1];
double k3[]=new double[(int) n+1];
double k4[]=new double[(int) n+1];
double Y[]=new double[(int) n+1];
//calculate
X[0]=a; Y[0]=2;
for(int i=1; i<=n; i++){
X[i]=a+i*h;
k1[i]=h*F(X[i-1],Y[i-1]);
k2[i]=h*F(X[i-1]+h/2.0,Y[i-1]+k1[i]/2.0);
k3[i]=h*F(X[i-1]+h/2,Y[i-1]+k2[i]/2);
k4[i]=h*F(X[i-1]+h,Y[i-1]+k3[i]);
Y[i]=Y[i-1]+(k1[i]+2*k2[i]+2*k3[i]+k4[i])/6;
}
//print results
for(int i=0; i<=n; i++){
System.out.print("\nX["+i+"]="+X[i]+" ");
}

for(int i=0; i<=n; i++){


System.out.print( "\nY["+i+"]="+Y[i]+" ");
}
return;
}
}

X[0]=0.0

X[1]=0.1

X[2]=0.2

X[3]=0.30000000000000004

X[4]=0.4

X[5]=0.5

X[6]=0.6000000000000001

X[7]=0.7000000000000001

X[8]=0.8

X[9]=0.9

X[10]=1.0

Y[0]=2.0

Y[1]=1.8213134037259775

Y[2]=1.722277296202202

Y[3]=1.6737454551620372

Y[4]=1.654259295925518

Y[5]=1.6509976069243184

Y[6]=1.656728944667202

Y[7]=1.6674481777598866

Y[8]=1.6809545594571098

Y[9]=1.696046183544103



Y[10]=1.7120718586067156

Process finished with exit code 0

Достарыңызбен бөлісу:




©www.engime.org 2024
әкімшілігінің қараңыз

    Басты бет