vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
NEU! sevCoolbar 3.0 - Professionelle Toolbars im modernen Design!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Suche Visual-Basic Code
Re: Sinus Umkehrfunktion 
Autor: VestMerkur
Datum: 12.05.05 12:21

Hallo Zardoz,

da mir dieser Verweis schon einmal aufgefallen ist, hierzu kurze Anmerkungen:

Zitat von
http://www.et.fh-merseburg.de/person/meinike/bpoldstuff/arti_015.htm

VB-Hilfe: Arccos(X) = Atn(-X / Sqr(-X * X + 1)) + 2 * Atn(1)

richtig: Arccos(X) = 2 * Atn(1) - Atn(X / Sqr(-X * X + 1))

Da kann man schon erschrecken, wenn man die Formel der VB-Hilfe verwendet.

Aber einmal Schritt für Schritt:

VB-Hilfe:

Arccos(X) = Atn(-X / Sqr(-X * X + 1)) + 2 * Atn(1)
= 2 * Atn(1) + Atn(-X / Sqr(-X * X + 1)) 'nur Summanden getauscht
= 2 * Atn(1) + Atn(-(X / Sqr(-X * X + 1))) 'nur Vorzeichen ausgeklammert
= 2 * Atn(1) - Atn(X / Sqr(-X * X + 1)) 'mit atan(-x)=-atan(x) umgeformt (s.a (30) der u.g. Quelle)

Nun hat man die "richtige" Form, die allerdings, wie gezeigt, mit der VB-Hilfe (die ja falsch sein soll) identisch ist!


Nun, wer braucht schon einmal cot/acot? Wohl eher selten! Dennoch:

IMHO ist der Verweis, dass die acot-Formel der VB-Hilfe falsch ist, richtig.
IMHO ist allerdings die "Korrektur" ebenso falsch!

Siehe zB: http://www.matha.rwth-aachen.de/lehre/SS02/Ana2/formel.pdf

Unter 2.2 findet man: acot(x)=Pi/2 - atan(x)
(s.a. (45) der Quelle)

Dafür, dass die "Korrektur" (Arccot(X) = [Sgn(X) * 2 * Atn(1)] - Atn(X)) falsch ist,
nur kurze Anmerkungen, ohne groß umzuformen:

Durch Anwendung der sgn-Funktion widerspricht sie acot(x)=Pi/2 - atan(x).
Für negative x ergeben sich negative Werte, die der acot nicht annimmt.
Für (-1) ergibt sich nach der "Korrektur"-Formel -Pi/4 !!!!! (richtig ist: 3/4 Pi)

Hierzu s.a. (40) der gen. Quelle: lim acot(x) für -oo = Pi, lim acot(x) für oo = 0, die Funktion ist stetig, streng monoton fallend und besitzt keine Nullstellen,

Der Grenzwert der "Korrektur"-Formel ist für -oo mitnichten Pi;
die Summation (acot, atan) für x<0 ist ebenso falsch, wie man mit (28) und (40) der Quelle leicht zeigen kann.

Viele Grüße


Zum Abschluss:

Public Function dblArcCos(Arg As Double) As Double
'Radiant-Form
If Abs(Arg) < 1 Then
    dblArcCos = Atn(-Arg / Sqr(-Arg * Arg + 1)) + 2 * Atn(1)
' Devide by Zero abfangen:
ElseIf Arg = 1 Then
    dblArcCos = 0
ElseIf Arg = -1 Then
    dblArcCos = 4 * Atn(1) ' = Pi
End If
'
End Function
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Sinus Umkehrfunktion3.486KeineAhnung03.05.05 17:55
Re: Sinus Umkehrfunktion2.857mst54703.05.05 18:08
Re: Sinus Umkehrfunktion2.650KeineAhnung03.05.05 18:34
Re: Sinus Umkehrfunktion2.698mst54703.05.05 18:43
Re: Sinus Umkehrfunktion2.495KeineAhnung03.05.05 20:11
Re: Sinus Umkehrfunktion2.689Zardoz04.05.05 00:53
Re: Sinus Umkehrfunktion2.665VestMerkur12.05.05 12:21

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel