Ableitungsfunktion



  • GNU Octave kann das (C++).



  • gnu_octavian schrieb:

    GNU Octave kann das (C++).

    Das wäre dann aber wie es aussieht nur für numerische Berechnungen. Ein algebraisches System hat das nicht. Sehe ich das richtig?



  • Umwerfend gut ist es in Algebra nicht, hauptsächlich ist es schon auf numerische Berechnungen konzentriert. Aber von einer Funktion die Ableitung zu bestimmen liegt locker drin.



  • am Ende läuft das ganze auf das numerische Newton-Verfahren raus, aber um das zu berechnen brauch ich die 1.Ableitung von f(x)



  • jonnybx schrieb:

    am Ende läuft das ganze auf das numerische Newton-Verfahren raus, aber um das zu berechnen brauch ich die 1.Ableitung von f(x)

    Was sind f(x) denn für Funktionen? Polynomfunktionen, Exponentialfunktionen? Wie gesagt, bei Polynomfunktionen kann man das relativ leicht mit Vektoren machen.



  • Je nachdem, wie bösartig deine Funktion ist, kannst du die Ableitung auch numerisch Bestimmen.

    Wenns dir nur um Nullstellenbestimmung geht, gibt für Funktionen von nur einer Veränderlichen auch ableitungsfreie Methoden (Bisektion etc.), die oft sogar noch freundlicher sind als Newton.



  • Warum will man eine Ableitung in diesem Fall numerisch approximieren wollen?
    Solange die Funktion als geschlossener Ausdruck gegebenen ist und nur aus "einfachen" Bausteinen besteht ist Ableiten etwas sehr einfacheres für Computer.



  • Ben04 schrieb:

    Warum will man eine Ableitung in diesem Fall numerisch approximieren wollen?
    Solange die Funktion als geschlossener Ausdruck gegebenen ist und nur aus "einfachen" Bausteinen besteht ist Ableiten etwas sehr einfacheres für Computer.

    Falls man tatsächlich keine oder so gut wie keine Vorinformationen über die Funktion hat, etwas selbst implementieren will und nicht mit dem Monster-CAS drauf schlagen will. Oder (auch wenn es für diese Frage unwahrscheinlich klingt) falls man gar keine analytisch geschlossene Darstellung der Funktion kennt.



  • Huch... ich hätte mal den Anfang lesen sollen. Der Fragesteller scheint ja doch einiges über seine Funktion zu wissen. Wenn die Funktion so einfach ist und nur von einer kleinen Hand voll (unbekannter) Konstanten abhängt, braucht man natürlich weder CAS noch numerische Ableitung.

    Bisektion und vergleichbares bleibt aber eine Alternative.



  • Das ist genau der richtige Anwendungsfall für Autodifferentiation. Das bestimmt die Ableitung algebraisch, aber Du bekommst nicht die funktionale Form, sondern den Wert an einer Stelle (dafür aber mit Maschinenengenauigkeit). Ich würd Dir lazytypes empfehlen


Anmelden zum Antworten