1.4.1 Taylor-Polinomio Ejercicio02 calcular error

Referencia: Burden 7Ed cap 1.1 Ejercicio 8. Burden p15, pdf 25; 9Ed p15

Obtenga el tercer polinomio de Taylor P3(x) para la función:

f(x) = \sqrt{x+1}

en torno a x0=0.

Aproxime el resultado para x=0.5, 0.75, 1.25 y 1.75 usando P3(x) y calcule los errores reales.


1. Desarrollo numérico

  • Determine el polinomio de Taylor, realice los pasos y verifique su respuesta con:
P_3(x) = 1 + \frac{1}{2}x - \frac{1}{8} x^2 +\frac{1}{16} x^3
  • luego calcule los valores de la tabla:
x P3(x) \sqrt{x+1} |diferencia ó error|
0.5  1.22656250000000  1.22474487139159  0.00181762860841106
0.75
1.25
1.5

Realice las observaciones a los resultados obtenidos.


2. Desarrollo con Python

Puede reutilizar la función del polinomio de Taylor con la fórmula simbólica usada en el enlace del ejemplo 1.1.3.

Con la función politaylor() se crea el polinomio y se evalua para calcular el error respecto al valor real de la expresión.

# Aproximación Polinomio de Taylor alrededor de x0
# función en forma simbólica con sympy

import numpy as np
import sympy as sym

# Calcula n términos del polinomio de Taylor
# funcionx es simbólica
def politaylor(funcionx,x0,n):
    k = 0
    polinomio = 0
    while (k <= n):
        derivada   = funcionx.diff(x,k)
        derivadax0 = derivada.subs(x,x0)
        divisor   = np.math.factorial(k)
        terminok  = (derivadax0/divisor)*(x-x0)**k
        polinomio = polinomio + terminok
        k = k + 1
    return(polinomio)


# PROGRAMA  -------------
# Capitulo 1.1 Ejecicio 8, Burden p15, pdf 25
# Calcule el error por aproximación
# con polinomio de Taylor grado 3

# variable x es simbólica
x = sym.Symbol('x')
funcionx = sym.sqrt(x+1)

# INGRESO
x0 = 0
xi = 0.5
n  = 3

# PROCEDIMIENTO
# Referencia
fxi = funcionx.subs(x,xi)
# con Taylor
polinomio = politaylor(funcionx,x0,n)
pxi = polinomio.subs(x,xi)

error_real = fxi-pxi

# SALIDA
print(' Taylor:     ', polinomio)
print(' xi:         ', xi)
print(' estimado  : ', pxi)
print(' real:       ', fxi)
print(' error real: ', error_real)

cuyo resultado para xi=0.5 es:

 Taylor:      x**3/16 - x**2/8 + x/2 + 1
 xi:          0.5
 estimado  :  1.22656250000000
 real:        1.22474487139159
 error real:  -0.00181762860841106

complete la tabla usando también el algoritmo en Python