📄 d14r4.txt
字号:
import java.text.*;
public class d14r4
{
public static void main (String[] args)
{
//program d14r4
//driver for routine odeint
int i, nvar;
double vstart[] = new double[5];
double xp[] = new double[201];
double yp[][] = new double[10][201];
double x1, x2, eps, h1, hmin, nok, nbad;
d14r4F g = new d14r4F();
DecimalFormat form = new DecimalFormat("0.000000");
nvar = 4;
x1 = 1.0;
x2 = 10.0;
vstart[1] = g.bessj0(x1);
vstart[2] = g.bessj1(x1);
vstart[3] = g.bessj(2, x1);
vstart[4] = g.bessj(3, x1);
eps = 0.0001;
h1 = 0.1;
hmin = 0.0;
int kmax = 100;
double dxsav = (x2 - x1) / 20.0;
g.kmax = kmax;
g.dxsav = dxsav;
nok = 0; nbad = 0;
g.odeint(vstart, nvar, x1, x2, eps, h1, hmin, nok, nbad, xp, yp);
eps = g.odeint_eps; h1 = g.odeint_h1; hmin = g.odeint_hmin;
nbad = g.odeint_nbad; nok = g.odeint_nok; nvar = g.odeint_nvar;
x1 = g.odeint_x1; x2 = g.odeint_x2;
g.kmax = kmax;
g.dxsav = dxsav;
System.out.println();
System.out.println("Successful step: "+nok);
System.out.println("Bad step: " + nbad);
System.out.println("Stored intermediate values: " + g.kount);
System.out.println();
System.out.println(" x Integral Bessj(3,x)");
for (i = 1; i <= g.kount; i++)
{
System.out.print(" "+form.format(xp[i]) + " ");
System.out.print(form.format(yp[4][i]) + " ");
System.out.println(form.format(g.bessj(3, xp[i])));
}
}
}
public class d14r4F
{
void derivs(double x,double y1[],double dydx[])
{
dydx[1] = -y1[2];
dydx[2] = y1[1] - (1.0 / x) * y1[2];
dydx[3] = y1[2] - (2.0 / x) * y1[3];
dydx[4] = y1[3] - (3.0 / x) * y1[4];
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -