![]() |
Re: Kompilierender Matheparser
Hier mal die Areafunktionen (Hauptwerte):
Code:
Wobei alle vorkommenden Funktionen komplex sind, d.h. zB beim Artanh, dass Ln und Sqrt ein komplexes Ergebnis liefern müssen. Wegen den inversen Kreisfunktionen such ich noch. Hier noch die Hyperbelfunktionen, falls du sie noch nicht hast:
Arsinh z = Ln( z + sqrt(z^2 + 1)
Arcosh z = Ln( z + sqrt(z^2 - 1) Artanh z = Ln[sqrt((1 +z)/(1-z))]
Code:
wobei z (komplex) = x+ jy. Hier sind die normalen Funktionen gemeint - also die normalen Hyperbelfunktionen (z.B. cos(2y) ist einfach der Cosinus vom Imaginärteil * 2)
sinh z = sinh(x)*cos(y) + j*cosh(x)*sin(y)
cosh z = cosh(x)*cos(y) + j*sinh(x)*sin(y) tanh z = [sinh(2x) + j*sinh(2y)]/[cosh(2x) + cos(2y)] Dust Signs //EDIT: Zitat:
//EDIT 2: Hab die Arcusfunktionen doch noch gefunden - der Arcustangens fehlt noch, aber den treib ich noch irgendwo auf ;)
Code:
wobei hier Ln und Sqrt auch wieder komplex arbeiten müssen
Arcsin z = -j * Ln(j*z + Sqrt(1 - z^2))
Arccos z = -j * Ln(z + Sqrt(z^2 - 1)) |
Re: Kompilierender Matheparser
Zitat:
Zitat:
OT: Woher kannst du das mit 18 schon alles? Ich hatte damals keinen Lehrer an unserer Schule der mir grad mal das Wesen der komplexen Zahlen erklären konnte. Ich musse leider komplett autodidaktisch ran :?. \\EDIT: Deine Signatur is mal geil ^^ \\EDIT2: Die komplexen hyperbolischen Funktionen sind drin - jedoch nicht die inversen dazu. |
Re: Kompilierender Matheparser
So, neue Echsen und Soßen gegen jim's AV-Problem sind oben, aber gegen DS' tan hab ich leider nich nix tun können :?
Ich geh jetzt rasen mähen *bäh* Dann implementier ich nach möglichkeit die Arcusfunktion usw und mach die CaseSensitivity weg |
Re: Kompilierender Matheparser
Zitat:
Zitat:
Zitat:
Zitat:
Dust Signs //EDIT: @Dizzy: Zu OT (18 und komplexe Zahlen): können uns gerne über Messenger (dustsigns@hotmail.com) weiter darüber unterhalten, damit wir das Topic hier nicht zuspammen. Und zwecks Eigennutzen :mrgreen: <werbung> ![]() |
Re: Kompilierender Matheparser
Zitat:
Sieht so aus, als ob er bei komplexeren Formeln Probleme hätte :( Hoffentlich bekommst du das in den Griff ;) Aber auf jeden Fall bisher gute Arbeit, vor allem weil dies der Anfang für einen Compiler größerer Art ist ;) |
Re: Kompilierender Matheparser
Hier ein Beispiel für 0^0, wo nicht 1 herauskommt. Ist zwar kein Beweis, aber immerhin ein Beispiel dafür, dass 0^0 nicht immer 1 ist:
Code:
für r Element R (rationale Zahlen)
f(x) = x^(r / ln(x))
Code:
Anmerkung: gegen 0+ deshalb, weil der Ln einer negativen Zahl ja komplex wäre
lim x->0+ f(x)
Hier haben wir eine unbestimmte Form 0^0. Lösen kann man das Ganze durch Logarithmieren:
Code:
wobei sich hier das ln(x) kürzt
Ln f(x) = r / ln(x) * ln(x)
Also im Limes:
Code:
und da r unabhängig von x ist, kommt hier r heraus. Da wir jetzt aber die logarithmierte Funktion haben, müssen wir diese wieder e^ nehmen, also:
lim x->0+ r
Code:
, wodurch sich der Limes ergibt:
e^r
Code:
, was man mit jedem besseren Taschenrechner (z.B. TI-92) nachprüfen kann
lim x->0+ f(x) = e^r
Dust Signs |
Re: Kompilierender Matheparser
Zitat:
\\Edit: Dein Beispiel ist schon sehr einleuchtend! Danke dir. Wieder was gelernt :) Zitat:
Zitat:
Zitat:
|
Re: Kompilierender Matheparser
@kirk_raynor: Ich hab als Übeltäter den PreSolver entlarvt, wird der ausgeschaltet funktioniert deine Formel ;-) Aber besser als ausschalten ist korrigieren, und das mach ich jetzt mal.
|
Re: Kompilierender Matheparser
So... jims Parsermörderformel funktioniert wieder, Echse und Soßen sind auf dem aktuellen (funktionierenden) Stand :)
|
Re: Kompilierender Matheparser
Und die Bugfixes nehmen kein Ende ;) Wieder eine von jims Parsermörderformeln "ausgebügelt" :)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:36 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz