Ejercicio: 3Eva2010TII_T4 EDO con Taylor
\frac{\delta y}{\delta x} = \frac{y^3}{1-2xy^2} y(0) = 1, 0 \leq x \leq 1escrita en forma simplificada
y' = \frac{y^3}{1-2xy^2}tomando como referencia Taylor de 2 términos más el término de error O(h2)
y_{i+1} = y_i +\frac{h}{1!}y'_i + \frac{h^2}{2!}y''_iSe usa hasta el segundo término para el algoritmo.
y_{i+1} = y_i +\frac{h}{1!}Con lo que se puede realizar el algoritmo
estimado[xi,yi]
[[0. 1. ]
[0.2 1.2 ]
[0.4 2.01509434]
[0.6 1.28727044]
[0.8 0.85567954]
[1. 0.12504631]]

Algoritmo en Python
# 3Eva_IIT2010_T4 EDO con Taylor
# estima la solución para muestras espaciadas h en eje x
# valores iniciales x0,y0
# entrega arreglo [[x,y]]
import numpy as np
def edo_taylor2t(d1y,x0,y0,h,muestras):
tamano = muestras + 1
estimado = np.zeros(shape=(tamano,2),dtype=float)
# incluye el punto [x0,y0]
estimado[0] = [x0,y0]
x = x0
y = y0
for i in range(1,tamano,1):
y = y + h*d1y(x,y)
x = x+h
estimado[i] = [x,y]
return(estimado)
# PROGRAMA PRUEBA
# 3Eva_IIT2010_T4 EDO con Taylor
# INGRESO.
# d1y = y' = f, d2y = y'' = f'
d1y = lambda x,y: (y**3)/(1-2*x*(y**2))
x0 = 0
y0 = 1
h = 0.02
a = 0
b = 1
muestras = int((b-a)/h)
# PROCEDIMIENTO
puntos = edo_taylor2t(d1y,x0,y0,h,muestras)
xi = puntos[:,0]
yi = puntos[:,1]
# SALIDA
print('estimado[xi,yi]')
print(puntos)
# Gráfica
import matplotlib.pyplot as plt
plt.plot(xi[0],yi[0],'o', color='r', label ='[x0,y0]')
plt.plot(xi[1:],yi[1:],'o', color='g', label ='y estimada')
plt.title('EDO: Solución con Taylor 2 términos')
plt.xlabel('x')
plt.ylabel('y')
plt.legend()
plt.grid()
plt.show()
Nota: Revisar los resultados no lineales con los valores de h=0.02