************************************************** *********
Wie genau approximiert der analytisch berechnete Zweig n der Umkehrfunktion die exakte reverse Funktion, wenn beide sich graphisch scheinbar ueberdecken ?
************************************************** *********
Numerisches Experiment :
Es wird ein Loesungszweig n fest vorgegeben und yi0 von 0.1 bis 0.9 in 50 Schritten durchschritten. Die Fehlerabweichung der beiden Funktionen wird mittels der Methode der kleinsten Quadrate bestimmt.
Fuer yi0=0.2 stellt n=1 einen geeigneten "ueberdeckenden" Loesungszweig dar :
k=0 n_min=0 y_invers=.2890137599998 2^k=1
k=1 n_min=1 y_invers=.9216000000001 2^k=2
k=2 n_min=1 y_invers=.6400000000000 2^k=4
k=3 n_min=
1 y_invers=.2000000000000 2^k=8
Darstellung des Fehlers fuer drei Zeitschritte m=3 ueber yi0 = 0.1 ... 0.9 (n=1)
Bereich y0=0.2 ... 0.3
Die Umkehrfunktion ist hier nicht nur an den gazzahligen Stuetzstellen exakt, sondern ueber den ganzen Funktionsverlauf.
Weiteres Beispiel :
n=2 m=4
Quellcode :
> restart;
> N_max:=100;
> ta:=0; te:=3;
> dt:=(te-ta)/(N_max-1);
>
> Z_max:=50;
> ya:=0.1; ye:=0.9;
> dy:=(ye-ya)/(Z_max-1);
> y0:=ya;
>
> for jj from 0 to Z_max-1 do
> t:=ta;
> y0:=y0+dy;
> for i from 0 to N_max-1 do
> y[i]:= evalf(1/2*(1-cos(2^(t)*arccos(1-2*y0))));
> t:=t+dt;
> od;
>
> t:=ta;
> err[jj]:=0;
>
> for i from 0 to N_max-1 do
> yi[i]:=y[N_max-1-i];
> yi1[i]:=evalf(1/2*(1-cos(2^(-t)*(arccos(1-2*yi[0])+1*2*Pi))));
> t:=t+dt;
> err[jj]:=err[jj]+( yi1[i]-yi[i] )^2 ;
> od:
>
> od; #of jj#
> druck_err:=seq([jj, err[jj]],jj=0..Z_max-1):
> plot([[druck_err]]);