s1Eva_IIT2010_T1_AN-Aproximar-con-polinomio/

Opción 1:

f(x) = e^x \cos (x) +1 0\leq x \leq \pi

Se indica polinomio de 2do grado,  entonces se desarrollan las derivadas de segundo orden

f'(x) = e^x \cos (x) - e^x \sin(x) f''(x) = e^x \cos (x) - e^x \sin(x) - e^x \sin(x) - e^x \cos(x) = -2 e^x \sin(x)

Por facilidad se usa x0=0

f(0) = e^0 \cos (0) +1 = 2 f'(0) = e^0 \cos (0) - e^0 \sin(0) = 1(1) - (1)(0) = 1 f''(x) = -2 e^0 \sin(0) = 2(1)(0) = 0

con lo que el polinomio de Taylor de grado 2 alrededor de x0 = 0 es:

p_2(x) = f(x_0) + \frac{f'(x_0)}{1!}(x-x_0) + \frac{f''(x_0)}{2!}(x-x_0)^2 p_2(x) = 2 + \frac{1}{1}(x-0) + \frac{0}{2}(x-0)^2 = 2 + x p_2(x) = 2 + x

lo que es solo una recta, que no incluye los otros puntos solicitados, por lo que hay que aumentar el grado del polinomio.

Tarea: realizar el ejercicio para x0 = π/2, verificando  que pase por los puntos requeridos. Respuesta usando el algoritmo de Taylor:

p(x) = -4.81047738096535*x**2 + 10.3020830193353*x – 3.31309698247881


Opción 2:

El polinomio requerido tiene la forma:

p(x) = a + bx + cx^2

por lo que conocido los pares ordenados por donde debe pasar se puede plantear las ecuaciones y encontrar a,b,c.

f(0) = e^0 \cos (0) +1 = 2 f(\pi/2) = e^{\pi/2} \cos (\pi /2) +1 = 1(0)+1 =1 f(\pi) = e^{\pi} \cos (\pi) +1 = e^{\pi} +1

se encuentra que a = 2 cuando x = 0 y que reemplazando los valores de x =π/2 y x=π se tiene:

2 + (π/2) b + (π/2)2 c = 1
2 +    π  b +   (π)2 c = eπ +1

que se convierte en:

(π/2) b + (π/2)2 c = -1
   π  b +   (π)2 c = -(eπ +1)

al multiplicar la primera ecuacion por 2 y restando de la segunda

- π2/2 c = eπ -1
c = (-2/π2)(eπ -1)

y sustituir c en la segunda ecuación:

π b + (π)2 (-2/π2)(eπ -1) = -(eπ +1)
π b = -(eπ +1) + 2(eπ -1) = -eπ -1 + 2eπ -2
b = (eπ -3)/π

El polinomio resultante es:

p(x) = 2 + \frac{e^{\pi}-3}{\pi}x + \frac{-1(e^{\pi}-1)}{\pi ^2}x^2

Probando respuesta con los valores en la función y polinomio usando python, se encuentra que el polinomio pasa por los puntos. Al observar la gráfica observa que se cumple lo requerido pero visualiza el error de aproximación usando el método de la opción 2.

# 1ra Evaluación II Término 2010. Tema 1
# Aproximar con polinomio la funciona fx
import numpy as np
import matplotlib.pyplot as plt

fx = lambda x: np.exp(x)*np.cos(x) +1
px = lambda x: 2 +((np.exp(np.pi)-3)/np.pi)*x - (2*(np.exp(np.pi)-1)/(np.pi**2))*(x**2)
# usando el algoritmo Taylor alrededor de pi/2 y de grado 4
ptaylor = lambda x: -4.90927977247497e-17*x**4 - 1.60349246032178*x**3 + 2.74580281918496*x**2 - 1.56729416329384*x + 2.90169437746019

# Salida
print('f(0): ', fx(0))
print('f(pi/2): ', fx(np.pi/2))
print('f(pi): ', fx(np.pi))

print('p(0): ', px(0))
print('p(pi/2): ', px(np.pi/2))
print('p(pi): ', px(np.pi))

# Gráficas
xi = np.linspace(-1,4,51)
fxi = fx(xi)
pxi = px(xi)
ptxi = ptaylor(xi)
plt.plot(xi,fxi, label='f(x)')
plt.plot(xi,pxi, label='p(x)')
plt.plot(xi,ptxi, label='pTaylor(x)')
plt.legend()
plt.plot(0,px(0), '*')
plt.plot(np.pi/2,px(np.pi/2), '*')
plt.plot(np.pi,px(np.pi), '*')
plt.show()