| |
|
|
p.specht
| Genauer dit handelt es sich ici um den Versuch, qui Eulersche Gammafunktion trop invertieren. là erhält on mais jeweils um 1 zuviel à qui Faktoriellen-Funktion.
Titre de la fenêtre "Mittels Newton-Raphson dans qui Genauigkeit verbesserte Lambert-W-Funktion"
Cls:Set("decimals",17)
imprimer $profver:waitinput 7000
proc Wu :parameters y!
declare Wu!
si y!>1
Wu!=ln(y!)-ln(ln(y!)) + 0.5*ln(ln(y!))/ln(y!)
d'autre
Wu!=1
endif
return Wu!
endproc
proc wohin :parameters x!
declare wohin!
wohin!=ln(x!)-ln(ln(x!))+ exp(1)/(exp(1)-1)*ln(ln(x!))/ln(x!)
return wohin!
endproc
Déclarer xn!,x!,y!,epsilon!,i&,max&
y!=1.295' Stabil seulement am tête-Ast
Repeat
si y! > si($profver="11.2a-NT",10^305 , 10^53)
sound 500,200:sound 300,200
waitinput 20000:end
endif
y!=y!*1.1
max&=4000'Verbesserungs-Läufe
epsilon!=5/10^16:cas y!>227.93:epsilon!=5.687/10^14
xn!=Wu(y!)'Startwert (trop petite) pour Newton-Raphson
i&=0
Repeat
inc i&
x!=xn!
si ((x!+1)*exp(x!)) = 0
xn!=(Wu(y!)+wohin(y!))/2'ensuite plan ab ici aus Näherungsformel... ab x~18.56
pause
d'autre
xn! = x!-(x!*exp(x!)-y!)/((x!+1)*exp(x!))
endif
until (abs(xn!-x!)<=epsilon!) or (i&>max&)
si i&>max&
imprimer " x-cherche pour y=";format$("%g",y!);" nach",i&,"Durchläufen abgebrochen!"
imprimer tab(2);i&,
imprimer tab(10);"Y=";format$("%g",y!),
imprimer tab(23);"x=";format$("%g",xn!),
imprimer tab(50);"err=";format$("%g",abs(x!-xn!))
' imprimer tab(50);"Y2=";format$("%g",xn!*exp(xn!))
sound 2000,200:waitinput
d'autre
imprimer i&,
imprimer tab(5);"Y=";format$("%g",y!),
imprimer tab(29);"x=";format$("%g",xn!),
imprimer tab(52);"err=";format$("%g",abs(x!-xn!))
' imprimer tab(50);"Y2=";format$("%g",xn!*exp(xn!))
endif
si %csrlin>22:waitinput :locate 1,1:endif' cls:endif
Until %clé=27
FIN
|
|
|
| Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'... | 15.05.2021 ▲ |
|
|
|