// Euler-Verfahren fuer den harmonischen Oszillator // bash: export CLASSPATH=.:~/lib/java import HUMath.Algebra.*; class Euler { public static void main(String[] args){ double t=0, x=1, y=0, h=0.05; while(t<20){ double v=y; B.wl("\t"+t+"\t"+x+"\t"+y); y-=h*x; x+=h*v; t+=h; } } } /* Approximation hat Werte auf cos(a*x)*exp(b*x) mit bash: java Euler > e0050.dat gnuplot: fit cos(a*x)*exp(b*x) './e0050.dat' via a,b pl './e0050.dat' u 1:2, cos(a*x)*exp(b*x) h = 0.5 a = 0.927295 +/- 9.902e-18 (1.068e-15%) b = 0.223144 +/- 1.229e-17 (5.507e-15%) h = 0.2 a = 0.986978 +/- 4.363e-17 (4.42e-15%) b = 0.0980518 +/- 3.805e-17 (3.881e-14%) h = 0.1 a = 0.996687 +/- 6.792e-17 (6.814e-15%) b = 0.0497517 +/- 6.172e-17 (1.241e-13%) h = 0.05 a = 0.999168 +/- 1.281e-16 (1.283e-14%) b = 0.0249688 +/- 1.194e-16 (4.782e-13%) */