Pregunta

Después de dolorosa prueba y error, llegué a una función grotesca que se comporta de la manera que quieren que:

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

I sólo se preocupan por los valores para el rango 0 <= x <= 1 y la pendiente en x = 1. En este intervalo, 0

¿Hay herramientas libres (basado en la web o Mac OS X) que generará el desarrollo en serie de Taylor para esto? (Encontré uno, pero atraganté con una fórmula tal complejo y no es compatible abs.)

Mi propósito en la generación de la expansión de la serie es que puede ser más eficiente para calcular. (Esta función será llamada cientos de miles de veces en Javascript, por lo que el rendimiento es un problema.)

Como alternativa, podría probar los puntos y hacer un ajuste de la curva si tuviera una curva herramienta de montaje. (No soy dueño de MS Excel, por desgracia.) sabes de algún herramientas de ajuste de curvas no lineales libres (basada en la web o MAC OS X)?

¿Fue útil?

Solución

GNU Octave es un paquete gratuito que, entre otras cosas, tiene una función < strong> polyfit para hacer mínimos cuadrados polinomio ajuste de curvas. Creo que esto (o algún otro paquete con una función equivalente) es probablemente una mejor coincidencia para su problema de desarrollo en serie de Taylor. Ese término valor absoluto podría hacer que sea difícil encontrar una serie de Taylor que extrapola bien a través del punto en x = 0,7, donde el primer derivado tiene una discontinuidad.

Otros consejos

Maxima hace esto. Ver la función Taylor .

https://ctaylor.codeplex.com

Esta es una biblioteca de C ++, que le permite escribir expresiones y variables y calcular no sólo el valor, sino también cualquier derivado orden. El compilador es el que genera el código de los derivados.

Wolfram Alpha va a hacer esto para usted simbólicamente de forma gratuita en la web . H / T @ExcessPhase de la idea de utilizar abs(x)=sqrt(x*x).

salida Wolfram Alpha

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top