Das Kefk Network Wiki befindet sich im Testbetrieb.
Integralsinus
Aus Kefk.
Der Integralsinus ist ein Begriff aus der Mathematik und bezeichnet eine durch ein Integral gegebene Funktion.
Joseph Liouville (1809-1882) bewies, dass der Kardinalsinus nicht elementar integrierbar ist.
Der Integralsinus ist definiert als das Integral der Sinc-Funktion:
. [1]
Im Grenzübergang
kann das Integral ausgewertet werden. Es gilt:
Die Entwicklung in eine Taylorreihe an der Stelle 0 liefert die gleichmäßig konvergente Reihe:
Algorithmus
Diese Reihe lässt sich ziemlich leicht programmieren:
Const Epsilon=1E-10; {oder ein andere Genauigkeit}
Function Si(x:Extended):Extended;
Function xHochN(x:Extended;n:Byte):Extended;
Var y:Extended;
i:Byte;
Begin
y:=1;
For i:=1 To n Do y:=y*x;
xHochN:=y
End;
Function Fakultaet(n:Word):Extended;
Var f:Extended;
i:Word;
Begin
f:=1;
For i:=1 To n Do f:=f*i;
Fakultaet:=f
End;
Var ISinus,Delta:Extended;
n :Word;
Begin
n:=0;ISinus:=0;
Repeat
Delta:=xHochN(-1,n)*xHochN(x,2*n+1)/((2*n+1)*Fakultaet(2*n+1));
ISinus:=ISinus+Delta;Inc(n)
Until Abs(Delta)<Epsilon;
Si:=ISinus
End;
Diese Version ist jedoch langsam, da bei jedem Durchgang xHochN und die Fakultät neu berechnet werden müssen.
Eine schnellere Variante ergibt folgende Pascal-Funktion:
Function Si(x:Extended):Extended;
Var ISinus,Fakultaet,Potenz,Delta:Extended;
n :Word;
Vorzeichen :-1..1;
Begin
ISinus:=x;n:=1;Fakultaet:=1;Potenz:=x;x:=Sqr(x);Vorzeichen:=-1;
Repeat
Potenz:=Potenz*x;Fakultaet:=Fakultaet*(n+1)*(n+2);Inc(n,2);
Delta:=Potenz/(n*Fakultaet);
ISinus:=ISinus+Vorzeichen*Delta;Vorzeichen:=-Vorzeichen
Until Abs(Delta)<Epsilon;
Si:=ISinus
End;
Siehe auch
Quellen
- ↑ Handbuch der Mathematik, Seite 517 ISBN 3-8166-0015-9
