Cómo escribir una serie de Taylor en Python

Una serie de Taylor es una representación de una función que utiliza una suma infinita. Las computadoras a menudo hacen aproximaciones de los valores de un trigonométrico, exponencial u otro trascendental. función sumando un número finito de los términos de su serie de Taylor, y puede recrear este proceso en Pitón. Los términos de la suma se basan en derivadas sucesivas de la función, por lo que deberá identificar un patrón en los valores de esas derivadas para escribir una fórmula para cada término de la serie. Luego, use un ciclo para acumular la suma, controlando la precisión de su aproximación con el número de iteraciones del ciclo.

Paso 1

Consulte la definición de la serie de Taylor para comprender cómo se puede calcular cada término. Cada término de la serie está indexado, típicamente por "n", y su valor está relacionado con la enésima derivada de la función que se representa. En aras de la simplicidad, utilice 0 como valor de "a" en su primer intento. Esta versión especial de la serie Taylor se llama serie Maclaurin. Pruebe la función seno, ya que sus sucesivas derivadas son fáciles de determinar.

Video del día

Paso 2

Escriba varios valores de la enésima derivada de la función seno evaluada en 0. Si n es 0, el valor es 0. Si n es 1, el valor es 1. Si n es 2, el valor es 0. Si n es 3, el valor es -1. A partir de aquí, el patrón se repite, así que ignore cada término de índice par de la serie de Taylor, ya que se multiplica por 0. Una fórmula para cada término de la serie resultante es:

(-1) ^ n / (2n + 1)! * X ^ (2n + 1)

"2n + 1" se usa en lugar de "n" para volver a indexar la serie, descartando efectivamente los términos indexados pares sin cambiar el índice en sí. El factor (-1) ^ n explica la alternancia entre positivo y negativo de términos sucesivos. Este trabajo matemático preliminar puede parecer extraño, pero el código Python será mucho más fácil de escribir y reutilizar en otras series de Taylor si el índice siempre comienza en 0 y cuenta hacia arriba en incrementos de 1.

Paso 3

Abra el intérprete de Python. Comience escribiendo los siguientes comandos para definir varias variables:

suma = 0 x = .5236

La variable "suma" se utilizará para acumular la suma de la serie de Taylor a medida que se calcula cada término. La variable "x" es el ángulo (en radianes) para el que desea aproximar la función seno. Ajústelo a lo que quiera.

Etapa 4

Importe el módulo "matemáticas" con el siguiente comando para que tenga acceso a las funciones "pow" y "factorial":

importar matemáticas

Paso 5

Inicie un ciclo "for", estableciendo el número de iteraciones con la función "range":

para n en el rango (4):

Esto hará que la variable índice, n, comience en cero y cuente hasta 4. Incluso este pequeño número de iteraciones producirá un resultado sorprendentemente preciso. El ciclo no se ejecuta inmediatamente y no comenzará hasta que haya especificado todo el bloque de código para iterar.

Paso 6

Escriba el siguiente comando para agregar el valor de cada término sucesivo a "suma":

suma + = math.pow (-1, n) /math.factorial (2 * n + 1) * math.pow (x, 2 * n + 1)

Observe que el comando está sangrado con una tabulación, lo que le indica a Python que es parte del ciclo "for". También observe cómo se usan "pow" y "factorial" en lugar de "^" y "!" notación. La fórmula a la derecha del operador de asignación "+ =" es idéntica a la del Paso 2, pero está escrita en la sintaxis de Python.

Paso 7

Presione "Enter" para agregar una línea en blanco. Para Python, esto indica la terminación del ciclo "for", por lo que se ejecuta el cálculo. Escriba el comando "suma" para revelar el resultado. Si usó el valor de x dado en el Paso 3, el resultado es muy cercano a .5, el seno de pi / 6. Intente el proceso nuevamente para diferentes valores de x y para diferentes números de iteraciones del ciclo, verificando sus resultados con la función "math.sin (x)". Ha implementado en Python el mismo proceso que muchas computadoras usan para calcular valores para el seno y otras funciones trascendentales.

Propina

Sangra y escribe el comando "suma" en la segunda línea del ciclo "for" para obtener un total acumulado de la suma a medida que se ejecuta el código. Esto revela cómo cada término sucesivo de la serie acerca la suma cada vez más al valor real de la función.