Frage

Nach dem schmerzhaften Versuch und Irrtum, kam ich an einer grotesken Funktion, dass verhält sich so, wie ich will es:

(exp(- abs(6 * (x - 0.7)) ^ 2.5 ) + exp(- (x-1.7) ^ 8 ) * 1.2)/1.5785

Ich kümmere mich nur über die Werte für den Bereich 0 <= x <= 1 und die Steigung bei x = 1. In diesem Intervall 0 <= y <= 1 als auch.

Gibt es kostenlose Tools (Web-basierte oder MAC OS X), die die Taylor-Entwicklung für diese generiert? (Ich fand, aber es verschluckte sich an einem so komplexen Formel und unterstützt keine abs.)

Mein Ziel der Reihenentwicklung bei der Erzeugung ist, dass es effizienter sein kann, zu berechnen. (Diese Funktion wird Hunderttausende von Zeiten in Javascript aufgerufen werden, so dass Leistung ist ein Problem.)

Alternativ könnte ich die Punkte kosten und eine Kurvenanpassung tun, wenn ich eine Kurvenanpassung Werkzeug hatte. (Ich glaube nicht, eigenen MS Excel, leider.) weiß, dass freie, nicht-linearen Kurvenanpassungswerkzeug (Web-basierte oder MAC OS X)?

War es hilfreich?

Lösung

GNU Octave ist ein kostenloses Paket, das unter anderem eine Funktion < strong> polyfit tun Least-Squares-Polynom Kurvenanpassung. Ich denke, das (oder ein anderes Paket mit einer äquivalenten Funktion) ist wahrscheinlich eine bessere Übereinstimmung für Ihr Problem als Taylor-Entwicklung. Der absolute Wert Begriff könnte es schwer machen, eine Taylor-Reihe zu finden, dass extrapoliert und durch den Punkt bei x = 0,7, wobei die erste Ableitung eine Diskontinuität hat.

Andere Tipps

Maxima tut dies. Sehen Sie die taylor Funktion.

https://ctaylor.codeplex.com

Dies ist eine C ++ Bibliothek, die Sie Ausdrücke und Variablen zu schreiben und rechnen nicht nur den Wert, sondern auch jede Ableitung erlaubt. Der Compiler ist derjenige, den Code für die Derivate zu erzeugen.

Wolfram Alpha wird dies für Sie tun symbolisch kostenlos im Web . H / T @ExcessPhase für die Idee des abs(x)=sqrt(x*x) verwenden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top