Question

Après le procès douloureux et l'erreur, je suis arrivé à une fonction grotesque qui se comporte de la façon dont je veux à:

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

I ne se soucient que les valeurs de la gamme 0 <= x <= 1 et la pente à x = 1. Dans cet intervalle, 0 <= y <= 1 aussi.

Y a-t-il des outils gratuits (sur le Web ou MAC OS X) qui va générer l'expansion de Taylor pour cela? (J'ai trouvé un, mais il étranglé sur une telle formule complexe et ne supporte pas abs.)

Mon but à générer l'expansion de la série est qu'il peut être plus efficace de calculer. (Cette fonction sera appelée des centaines de milliers de fois en Javascript, donc la performance est un problème.)

Sinon, je pourrais goûter des points et faire un ajustement de courbe si j'avais un outil d'ajustement de courbe. (Je ne possède pas MS Excel, hélas.) connaissez des outils gratuits ajustement de courbe non-linéaire (basé sur le Web ou MAC OS X)?

Était-ce utile?

La solution

GNU Octave est un paquet gratuit qui, entre autres, a une fonction < strong> polyfit pour faire des moindres carrés d'ajustement de courbe polynomiale. Je pense que cela (ou d'un autre paquet avec une fonction équivalente) est probablement une meilleure adéquation pour votre problème de développement de Taylor. Ce terme de valeur absolue pourrait rendre difficile de trouver une série de Taylor qui extrapole bien par le point x = 0,7, où la première dérivée a une discontinuité.

Autres conseils

https://ctaylor.codeplex.com

Ceci est une bibliothèque C ++ qui vous permet d'écrire des expressions et des variables et calculer non seulement la valeur mais aussi tout dérivé de commande. Le compilateur est une génération du code pour les dérivés.

Wolfram Alpha fera pour vous symboliquement gratuitement sur le Web . H / T @ExcessPhase pour l'idée d'utiliser abs(x)=sqrt(x*x).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top