: Santos Bravo Yuste. email: santos@unex.es
![[Graphics:Images/ResoNumEDO.nb_gr_3.gif]](Images/ResoNumEDO.nb_gr_3.gif)
![[Graphics:Images/ResoNumEDO.nb_gr_4.gif]](Images/ResoNumEDO.nb_gr_4.gif)
Introducimos la condición inicial
![[Graphics:Images/ResoNumEDO.nb_gr_5.gif]](Images/ResoNumEDO.nb_gr_5.gif)
Discetizamos con tamaño de salto h
![[Graphics:Images/ResoNumEDO.nb_gr_6.gif]](Images/ResoNumEDO.nb_gr_6.gif)
Definimos la función f(x,y) =x+y
![[Graphics:Images/ResoNumEDO.nb_gr_7.gif]](Images/ResoNumEDO.nb_gr_7.gif)
La solución exacta es yExacta[x_]:=-1-x+2*Exp[x].
![[Graphics:Images/ResoNumEDO.nb_gr_8.gif]](Images/ResoNumEDO.nb_gr_8.gif)
Esta solución se puede obtener mediante Mathematica :
![[Graphics:Images/ResoNumEDO.nb_gr_9.gif]](Images/ResoNumEDO.nb_gr_9.gif)
Definimos la función yEulerSimple[n] que calcula la solución mediante el método de Euler simple en el punto n-ésimo, es decir, en x[n]
![[Graphics:Images/ResoNumEDO.nb_gr_11.gif]](Images/ResoNumEDO.nb_gr_11.gif)
Definimos la función yRK4[n] como la solución mediante el métodod de Runge-Kutta de orden 4 en el punto x[n]
![[Graphics:Images/ResoNumEDO.nb_gr_12.gif]](Images/ResoNumEDO.nb_gr_12.gif)
Ahora podemos generar una tabla en la que se comparan las soluciones aproximadas con la solución exacta desde x[1] hasta x[nfin]. En la sentencia siguiente se escoge nfin=10.
![[Graphics:Images/ResoNumEDO.nb_gr_13.gif]](Images/ResoNumEDO.nb_gr_13.gif)
| 0.1` | 1.1` | 1.1103416666666666` | 1.1103418361512953` |
| 0.2` | 1.2200000000000002` | 1.2428051417013888` | 1.2428055163203398` |
| 0.30000000000000004` | 1.362` | 1.3997169941250753` | 1.3997176151520063` |
| 0.4` | 1.5282` | 1.5836484801613713` | 1.5836493952825408` |
| 0.5` | 1.72102` | 1.797441277193676` | 1.7974425414002564` |
| 0.6000000000000001` | 1.943122` | 2.044235924183866` | 2.044237600781018` |
| 0.7000000000000001` | 2.1974342` | 2.3275032531935533` | 2.327505414940953` |
| 0.8` | 2.48717762` | 2.6510791265846305` | 2.651081856984936` |
| 0.9` | 2.8158953820000003` | 3.0192028275601417` | 3.019206222313899` |
| 1.` | 3.1874849202` | 3.4365594882703316` | 3.43656365691809` |
pe es la gráfica de la solución exacta
![[Graphics:Images/ResoNumEDO.nb_gr_14.gif]](Images/ResoNumEDO.nb_gr_14.gif)
![[Graphics:Images/ResoNumEDO.nb_gr_15.gif]](Images/ResoNumEDO.nb_gr_15.gif)
pES es la gráfica de la solución mediante el método de Euler simple. Los puntos tienen el color Hue[0.05]~~rojo
![[Graphics:Images/ResoNumEDO.nb_gr_16.gif]](Images/ResoNumEDO.nb_gr_16.gif)
![[Graphics:Images/ResoNumEDO.nb_gr_17.gif]](Images/ResoNumEDO.nb_gr_17.gif)
pRK4 es la gráfica de la solución mediante el método de Runge-Kutta de orden 4. Los puntos tienen el color Hue[0.75]=azul
![[Graphics:Images/ResoNumEDO.nb_gr_18.gif]](Images/ResoNumEDO.nb_gr_18.gif)
![[Graphics:Images/ResoNumEDO.nb_gr_20.gif]](Images/ResoNumEDO.nb_gr_20.gif)
Combinamos las tres gráficas anteriores para comparar fácilmente la bondad de cada método de integración numérica. La línea continua es la solución exacta, los puntos azules son la solución aproximada del método Runge-Kutta de orden 4 y los puntos rojos son la solución aproximada obtenida mediante el método de Euler simple.
![[Graphics:Images/ResoNumEDO.nb_gr_21.gif]](Images/ResoNumEDO.nb_gr_21.gif)
![[Graphics:Images/ResoNumEDO.nb_gr_22.gif]](Images/ResoNumEDO.nb_gr_22.gif)
![[Graphics:Images/ResoNumEDO.nb_gr_23.gif]](Images/ResoNumEDO.nb_gr_23.gif)
(1) Escribir una función similar a yEulerSimple e yRK4 que calcule la solución aproximada mediante el método de Heun y el método de Milne.
(2) Resolver el problema para f(x,y)=cos(x)+sen(y) con x=0,y(0)=1 y paso h=0.5
Ahora Mathematica no es capaz de obtener la solución exacta,de modo que debes comparar tus soluciones con la solución numérica que proporciona la función NDSolve de Mathematica.
Una solución del ejercicio (2) ...NO MIRAR...