| |
|
|
p.specht
| El Gammafunktion es bekanntlich bajo vielen otro Características el kontinuierliche Variante el Faktoriellenfunktion - z.B. es Facto(5)=5*4*3*2*1. El Gammafunktion Gamma(x+1) debería en ganzzahligem reellen Entrada el selbe Ergebnis liefern como Facto(x), y así una (differenzierbare) Formel para el Kurvenform el Faktoriellenfunktion liefern. Das klappt aber bisher no así correcto: Zahlreiche berühmte Näherungen existieren. Diese stammt de 2007 y se en el nachstehenden Programa ausgetestet y ihre absolute Abweichung ermittelt.
Título de la ventana " Test el Gammafunktions-Näherung después de [G.Nemes 2007]"
Ventana de Estilo 24:Ventana 0,0-800,%maxy-40:font 2
'https://en.wikipedia.org/wiki/Stirling%27s_approximation#A_convergent_version_of_Stirling's_formula
proc GammaNemes :parámetros z!
caso z!<1/1e4:volver 0:if z!>168:imprimir " *** OVERFLOW ERROR ***":volver 0:endif
var uz!=1/z!
volver Sqrt(6.2831853071795865*uz!)*(.367879441171442322*(z!+1/(12*z!-.1*uz!)))^z!
ENDPROC
proc Facto :parámetros x&
caso x&<1:volver 0
if x&>168:imprimir " *** OVERFLOW ERROR ***":volver 0:endif
var p!=1
whileloop x&,1,-1
p!=p!*&Loop
endwhile
volver p!
ENDPROC
'Main part
Declarar gamma!
CLS:set("decimals",4)
Whileloop 180
gamma!=GammaNemes(&Loop+1)
Imprimir:imprimir " ",&Loop,
imprimir format$("%g",Facto(&Loop)),
imprimir format$("%g",round(gamma!,4)),
imprimir " AbsErr: ";format$("%g",gamma!-Facto(&Loop))
waitinput 8000
caso %csrlin>34:cls
endwhile
imprimir "---"
waitinput
End
|
|
|
| Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'... | 30.05.2021 ▲ |
|
|
|