Está en la página 1de 5

Universidad de Guanajuato.

13 de noviembre de 2022
División de Ciencias e Ingenierías.

Métodos numéricos.

“Serie de Taylor de
orden superior.”

Integrantes:

 Cabrera Gutierrez Nancy Aidee.


 Guzmán García Oscar Daniel.
 Murga Olivar Daniela.
 Vargas Castañón Caren Paola.
 Javier Isaac Osornio Sánchez
INTRODUCCIÓN.
Cuando queremos aplicar las matemáticas para una situación real en nuestro mundo, nos damos
cuenta de que algunos no los podemos resolver analíticamente o de manera exacta. La solución a
este tipo de problema puede ser abordada con ayuda de algún procedimiento numérico. En este
documento aplicaremos lo aprendido en clase y se tratara de resolver un polinomio de Taylor de
orden n con ayuda de un programa creado por nosotros.
Un método numérico es un procedimiento mediante el cual se obtiene, casi siempre de manera
aproximada, la solución de ciertos problemas realizando cálculos puramente aritméticos y lógicos
(operaciones aritméticas elementales, cálculo de funciones, consulta de una tabla de valores, cálculo
preposicional, etc.). Dicho procedimiento consiste de una lista finita de instrucciones precisas que
especifican una secuencia de operaciones algebraicas y lógicas (algoritmo), que producen una
aproximación de la solución del problema (solución numérica) o bien un mensaje.

SERIE DE TAYLOR DE ORDEN N.


El método de Euler lo hemos deducido de la definición de derivada, pero también puede obtenerse a
partir del desarrollo de Taylor de orden n = 1 de la función y(t) en el punto tk. Si el desarrollo de
Taylor se extiende hasta un orden n, tendríamos:

' h2 ' ' h ( n) ( n) h n+1 (n+ 1)


y (t ¿¿ k +1)= y ( t k ) +hy ( t k ) + y ( t k ) +…+ y ( t k )+ y (ξ k ) ¿ Ec.1
2 n! ( n+ 1 ) !
Donde:

ξ k ϵ (t k , t k +h) Ec.2

Si la función f(t, y) es “suficientemente regular”, entonces podemos calcular las derivadas sucesivas
de y(t). En efecto:

y ' ( t )=f ( t , y ( t ) ) =f ( 0) (t , y ) Ec.3

' ( 1)
d y ∂ f ∂ f dy ∂ f ∂f Ec.4
y ' ' (t )= = + ¿ +f =f (t , y )
dt dt ∂ y dt dt ∂y
' (1 ) (1) (1) (1) ( 2)
d y ' ∂f ∂ f dy ∂ f ∂f Ec.5
y ' ' ' (t )= = + ¿ +f =f (t , y )
dt dt ∂ y dt dt ∂y
Y así sucesivamente hasta llegar a n:

(n ) dy (n−1) ∂ f (n−2) ∂ f (n−2) dy ∂ f ( n−2) ∂ f (n−2 ) ( n−1 )


y ( t )= = + ¿ +f =f (t , y) Ec.6
dt dt ∂ y dt dt ∂y
El método de Taylor de orden n consiste en calcular yk aplicando la fórmula siguiente:

(0 ) h2 ( 1 ) h(n ) ( n−1)
y k +1= y k +h f ( t k , y k ) + f ( t k , y k ) + …+ f ( tk , y k ) Ec.7
2! n!
Notemos que el método de Euler es un caso particular del método de Taylor, para n = 1.
PROBLEMA PARA RESOLVER.
Encuentros Cercanos
Una nave espacial alienígena se está acercando la Tierra. Está actualmente a 20 millones millas de
distancia y acercándose a una velocidad de 5 millones millas por semana. Por razones conocidas
sólo a los extranjeros, su distancia a la Tierra satisface la ecuación diferencial y’’(t) = 0.01(y - t),
donde “y” es la distancia en millones de millas y “t” es el tiempo en semanas a partir de ahora.
Determina su polinomio de Taylor de grado 4 y usarlo para predecir la posición de la nave espacial
una semana desde ahora y cuatro semanas desde ahora.
CODIGO DEL PROGRAMA.
El lenguaje de programación utilizado para el código es Python, dicho lenguaje cuenta con las
siguientes características:

 Python es un lenguaje de programación interpretado y multiplataforma cuya filosofía hace


hincapié en una sintaxis que favorezca un código legible.
 Se trata de un lenguaje de programación multiparadigma, ya que soporta orientación a
objetos, programación imperativa y, en menor medida, programación funcional.
 Añadiría, como característica destacada, que se trata de un lenguaje de propósito general.
Como necesitamos trabajar con funciones trigonométricas, así como números complejos,
accedemos a ellas incluyendo el módulo matemático math.
El sympy es una librería de Python desarrollada para resolver problemas de matemáticas simbólicas.
Su objetivo es reunir todas las características de un sistema de álgebra computacional, ser
fácilmente extensible y mantener el código todo lo simple que sea posible.
El módulo plotting permite hacer gráficos bidimensionales y tridimensionales.

import math as m
import sympy as sp 
from sympy.plotting import plot

Se requiere pedir al usuario los siguientes valores para poder ejecutar el programa.

a=float(input('Coloca el punto al cual se desea el polinomio = '))
n=int(input('Poner el orden del polinomio de Taylor = '))
PolinomioTaylor(a,n)

ai=float(input('Valor del intervalo de "a" = '))
b=float(input('Valor del intervalo de "b" = '))
Ni=int(input('No. divisiones = '))

Una vez con las librerías seleccionadas en nuestro código y los valores asignados, se creará una
definición llamada PolTaylor para después crear una variable simbólica con ayuda de la librería
sympy y de esta librería se tomará el comando symbols.
Una vez con la variable definida, pasamos a definir la función a utilizar, como necesitamos una
función para calcular las derivadas que conlleva la serie de Taylor, por ello volvemos a utilizar la
librería sympy.
Nuestra T en el programa es el polinomio de Taylor, en el cual nuestra función sustituiremos la
variable x por el valor de a.

def PolTaylor(a,n):
  x=sp.symbols('x')
  f=sp.cos(x)
  F=f
  T=f.subs(x,a)

Colocamos un bucle for para ejecutar el bloque de este código, en este necesitamos tomar los
valores de k desde 1 hasta n. Agregamos el arreglo que va desde 1 hasta n+1.
Para la serie de Taylor se necesita tomar la derivada enésima, tomando la función y su variable.
Para que la derivada se haga de manera sucesiva decimos que la función tomara el valor de la
derivada enésima (dfk).
Siguiendo con esto, se realiza la sumatoria, que así ya tenemos el polinomio enésimo de Taylor.

for k in range (1,n+1):
    dfk=sp.diff(f,x)
    T=T+dfk.subs(x,a)*((x-a)**k)/m.factorial(k)
    f=dfk 
p=sp.expand(T)
return p

El print nos ayuda a mostrar el polinomio T pero expandido. El comando plot es utilizado para
graficar la función y después el polinomio de orden n. Tomamos un intervalo de longitud 6 centrado
en a.
Después necesitamos brindarles valores reales a las variables a y n, en dichas variables asignara el
valor el usuario. Siendo n una variable del tipo entero por ser el orden de nuestro polinomio y a es
una variable del tipo float, por ser un punto alrededor de la expansión echa.
Para poder ejecutar, llamamos a la función con los valores asignados para a y n.

print(p)
  g=plot(F,T,(x,a-3,a+3),title='Polinomio de Taylor',show=True)
  g[0].line_color='k'
  g[1].line_color='r'

a=float(input('Coloca el punto al cual se desea el polinomio = '))
n=int(input('Poner el orden del polinomio de Taylor = '))
PolTaylor(a,n)
Bibliografía.
1. VELÁSQUEZ ZAPATEIRO, J. Análisis numérico: notas de clase. ed. Barranquilla:
Universidad del Norte, 2008. 294 p. Disponible en:
https://elibro-net.e-revistas.ugto.mx/es/ereader/ugto/70054?page=259. Consultado en: 13
Nov 2022.
2. NIEVES HURTADO, A. Métodos numéricos: aplicados a la ingeniería. ed. México D.F:
Grupo Editorial Patria, 2015. 725 p. Disponible en:
https://elibro-net.e-revistas.ugto.mx/es/ereader/ugto/39455?page=563. Consultado en: 13
Nov 2022.
3. SERGIO DELGADO QUINTERO. Aprende Pyton. 24 Nov 2022.

También podría gustarte