|
рунге кутт
|
Дата | 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
Достарыңызбен бөлісу: |
|
|