Einzelnen Beitrag anzeigen
  #101  
Alt 22.05.12, 21:08
Benutzerbild von richy
richy richy ist offline
Singularität
 
Registriert seit: 01.05.2007
Ort: karlsruhe
Beitr?ge: 4.170
Standard AW: Math Verhulst 1989

Es laesst sich auch der einfache Test durchfuehren, ob fuer einen festen Index n ( den groessten ermittelten Index ) sowohl der Wert fuer k als auch fuer k-1 widergegeben wird.

Maple Code fuer den Test :

Zitat:
restart;
> Digits:=13;
> M:=6;
> y[0]:=0.2;
> for i from 1 to M-1 do
> y[i]:=y[i-1]*4*(1-y[i-1]);
> od;
> for i from 0 to M-1 do
> yi[i]:=y[M-i-1];
> od;
>
> for k from 0 to M-1 do
> ziel:=yi[k]:
> for n from 0 to 2^k do
> test:=evalf(1/2*(1-cos(2^(-k)*(arccos(1-2*yi[0])+n*2*Pi))));
> if ceil(1000000*ziel)=ceil(1000000*test) or
> floor(1000000*ziel)=floor(1000000*test)
> then
> printf(`k=%g n_min=%g y_invers=%1.13g 2^k=%g\n`,k,n,test,2^k);
> index[k]:=n;
> n:=2^k;
> fi;
> od: od:
>
> # Test k UND k-1
> m:=index[M-1];
> for k from 1 to M-1 do
> ziel_1:=yi[k-1];
> ziel:=yi[k];
> test_1:=evalf(1/2*(1-cos(2^(-k+1)*(arccos(1-2*yi[0])+m*2*Pi))));
> test:=evalf(1/2*(1-cos(2^(-k)*(arccos(1-2*yi[0])+m*2*Pi))));
> if ceil(1000000*ziel)=ceil(1000000*test) or
> floor(1000000*ziel)=floor(1000000*test)
> then
> printf(`passed k step %g `,k);
> fi;
> if ceil(1000000*ziel_1)=ceil(1000000*test_1) or
> floor(1000000*ziel_1)=floor(1000000*test_1)
> then
> printf(`passed k-1 step %g `,k);
> fi;
> printf(`*******\n`);
> od;
Bei den von mir verwendeten Anfangswerten und Anzahl Iteratonen M wurde der Test erfuellt. D.h. die Umkehrfunktion wird von einem einzigen Funktionszweig mit dem Index fuer die Iteration M (groesstes n) vollstaendig wiedergegeben.Die Zweige der Umkehrfunktion erfuellen damit recht komplexe Bedingungen. Allerdings scheinen auch Ausnahmen zu existieren.

Ge?ndert von richy (28.05.12 um 12:11 Uhr)
Mit Zitat antworten