You are on page 1of 32

TEMA 1.

Resolución numérica de ecuaciones diferenciales 1

1.1. Conceptos generales.

1.2. Métodos de Taylor


- Método de Euler.
- Métodos de Taylor de orden superior

1.3. Métodos de Runge-Kutta.

1.4. Métodos Predictor-Corrector. Métodos Multipaso


- Métodos explícitos de Adams-Bashforth
- Métodos explícitos de Adams_Moulton

1.5. Aplicaciones.

Resolución numérica de ecuaciones diferenciales 2

1.1. Conceptos generales.

Objetivo de este tema:

• La resolución numérica de ecuaciones diferenciales ordinarias (EDO).

Mediante el uso de Métodos Numéricos de Cálculo:

Determinar, de forma aproximada, una solución de una EDO de primer

orden, conociendo el valor de la solución (curva) en un punto.

1
Resolución numérica de ecuaciones diferenciales 3

1.1. Conceptos generales.

Interés:

• Las ecuaciones diferenciales se usan de forma habitual


para construir modelos matemáticos en una amplia variedad de
problemas de la ciencia y la ingeniería.

• En dichos problemas se buscan los valores de ciertas


funciones desconocidas a través de lo único que somos capaces
de medir:
“cómo los cambios de una variable afectan a otra”.

• Cuando esta relación de cambios se traduce a un modelo


matemático, el resultado es una ecuación diferencial.

Resolución numérica de ecuaciones diferenciales 4

1.1. Conceptos generales.

Ejemplo: La temperatura y(t) de un objeto que se enfría.

Podríamos conjeturar que la velocidad del cambio de la temperatura de


un cuerpo está relacionada con la diferencia entre su temperatura y la del
medio que lo rodea.

2
Resolución numérica de ecuaciones diferenciales 5

1.1. Conceptos generales.

Ejemplo: La temperatura y(t) de un objeto que se enfría.

Podríamos conjeturar que la velocidad del cambio de la temperatura de


un cuerpo está relacionada con la diferencia entre su temperatura y la del
medio que lo rodea.

Los experimentos lo confirman y la ley del enfriamiento de Newton


establece que dicha velocidad de cambio es directamente proporcional a la
diferencia de estas temperaturas.

Si conocemos la temperatura del cuerpo, en el instante t = 0, que se


denomina condición inicial, entonces incluimos esa información en el
enunciado del problema

Resolución numérica de ecuaciones diferenciales 6

1.1. Conceptos generales.

Ejemplo: La temperatura y(t) de un objeto que se enfría.

Si denotamos por y(t) la temperatura del cuerpo en el instante t, y A la


temperatura del medio que lo rodea, dy
 k ( y  A)
dt
y (0)  y 0

donde k es una constante positiva, y el signo negativo indica que la


temperatura decrece si la temperatura del cuerpo es mayor que la del medio.

3
Resolución numérica de ecuaciones diferenciales 7

1.1. Conceptos generales.

Ejemplo: La temperatura y(t) de un objeto que se enfría.

Si denotamos por y(t) la temperatura del cuerpo en el instante t, y A la


temperatura del medio que lo rodea, dy
 k ( y  A)
dt
y (0)  y 0

donde k es una constante positiva, y el signo negativo indica que la


temperatura decrece si la temperatura del cuerpo es mayor que la del medio.

La solución se calcula a través de la técnica de separación de variables,


obteniendo:
y  A  ( y 0  A)e  kt

Fijados A y k, cada elección de y 0 nos da una solución distinta.

Resolución numérica de ecuaciones diferenciales 8

1.1. Conceptos generales.

Fijados A y k, cada elección de y 0 nos da una solución distinta.

y  A  ( y 0  A)e  kt
En la Figura se muestran dos soluciones del problema: Para y0  6 y para y0  2

Con Maple > plot([2+(6-2)*exp(-x),2+(-2-2)*exp(-x)],x=0..8,color=[red,blue]);

y0  6
y(t) y0  6
Cuando t crece, la temperatura
del cuerpo se aproxima a la
temperatura ambiente.
A=2
Si y 0 < A, el cuerpo se calienta,
si y 0 > A, el cuerpo se enfría. t
y0  2

4
Resolución numérica de ecuaciones diferenciales 9

1.1. Conceptos generales.


Problemas de valor inicial (PVI)

En estos problemas se requiere calcular la solución de una ecuación diferencial que


verifica una condición inicial dada.
 dy
Si consideramos el (PVI)   f ( x, y ), para a  x  b
 dx
 y ( a )  ya , (condicion inicial)

buscamos la solución y(x) en el intervalo a  x  b de manera que en x  a,


sea y (a)  ya .

Resolución numérica de ecuaciones diferenciales 10

1.1. Conceptos generales.


Problemas de valor inicial (PVI)

En estos problemas se requiere calcular la solución de una ecuación diferencial que


verifica una condición inicial dada.
 dy
Si consideramos el (PVI)   f ( x, y ), para a  x  b
 dx
 y ( a )  ya , (condicion inicial)

buscamos la solución y(x) en el intervalo a  x  b de manera que en x  a,


sea y (a)  ya .

• Ejemplo 1. y   y  x 2  1, 0  x  2
y (0)  0,5
• Ejemplo 2.
y   1  xsen( xy ), 0  x  2
y (0)  0

5
Resolución numérica de ecuaciones diferenciales 11

1.1. Conceptos generales.


Problemas de valor inicial (PVI) bien planteados
La existencia de una solución única y continuamente diferenciable en el intervalo puede
asegurarse:

• Si la función f y
f , son continuas en dicho intervalo a, b para todo y.
y
• Menos exigente que esta hipótesis es que se verifique la condición de Lipschitz

L  0, f ( x, y )  f ( x, y*)  L y  y *

• Ej. 1: f ( x, y )  y  x 2  1, f y ( x, y )  1,

son ambas continuas para 0  x  2 y para todo y,

• Ej. 2: f ( x, y )  1  xsen( xy ), f y ( x, y )  x 2 cos( xy),


son ambas continuas para 0  x  2 y para todo y,

Por tanto ambos son problemas bien planteados (existe una única solución)

Resolución numérica de ecuaciones diferenciales 12

1.1. Conceptos generales.

• No obstante, lo que requieren la mayoría de los casos en que los


problemas de la ciencia y la técnica se resuelven mediante la aplicación
de ecuaciones diferenciales,

no es una prueba de que la solución existe,

Sino:
• los valores de la solución para un conjunto continuo de valores del
intervalo de la variable independiente (solución analítica)
o
• los valores aproximados de la solución para un conjunto discreto de
valores del intervalo de la variable independiente (solución numérica)

Podemos usar Maple para resolver analíticamente estos dos ejemplos de


valor inicial.

6
Resolución numérica de ecuaciones diferenciales 13

1.1. Conceptos generales.

Ejemplo 1.

2 1 x
y( x ) := x 2 x 1 e
2

Resolución numérica de ecuaciones diferenciales 14

1.1. Conceptos generales.

Ejemplo 2.

No siempre es posible obtener una solución teórica exacta -analítica- del


problema, es decir, una expresión de la solución mediante una combinación
de un número finito de funciones elementales, obtenidas por la integración de
la ecuación o transformadas integrales como la de Laplace.

7
Resolución numérica de ecuaciones diferenciales 15

1.1. Conceptos generales.

Métodos Numéricos

Por ello surge la necesidad de encontrar, mediante un algoritmo eficiente, una


aproximación suficientemente buena de la solución.

La eficiencia de un algoritmo se refiere a la cantidad de recursos que requiere


su ejecución. Habitualmente analizando el tiempo de ejecución en un
determinado ordenador y programa informático, y también la memoria que
consume la ejecución del algoritmo y la complejidad del mismo.

Resolución numérica de ecuaciones diferenciales 16

1.1. Conceptos generales.

Estos métodos no proporcionan una aproximación continua (para todos


los valores del intervalo de estudio ) a la solución exacta de la ecuación
diferencial del problema de valor inicial,
sino aproximaciones del valor de la solución en una secuencia discreta de
puntos que suelen estar igualmente espaciados.

Estos Métodos se basan en una aproximación fundamental:

Una ecuación diferencial se sustituye por una ecuación en diferencias, y


el papel que desempeñaba una variable continua lo asume una variable
discreta.
Para que tal esquema sea eficaz, es importante comprender bajo que
condiciones la solución de la ecuación en diferencias es próxima a la de la
ecuación diferencial.

8
Resolución numérica de ecuaciones diferenciales 17

1.1. Conceptos generales.


Nuestro objetivo es, dado un número natural N, calcular valores numéricos aproximados de
la solución de un
dy
( PVI ) :  f ( x, y ), para a  x  b
dx
y(a)  ya
en los N+1 puntos (nodos) equidistantes: {x0 , x1 , x2 ,..., xN } / xn  a  nh, n  0,1,2,3,...N
ba
siendo la distancia entre nodos h [ tamaño de paso ].
N

y(a)  ya

h
x
a b
x0 x1 x2 ... xn ... xN 1 xN

Resolución numérica de ecuaciones diferenciales 18

1.1. Conceptos generales.


Nuestro objetivo es, dado un número natural N, calcular valores numéricos aproximados de
la solución de un
dy
( PVI ) :  f ( x, y ), para a  x  b
dx
y(a)  ya
en los N+1 puntos (nodos) equidistantes: {x0 , x1 , x2 ,..., xN } / xn  a  nh, n  0,1,2,3,...N
ba
siendo la distancia entre nodos h [ tamaño de paso ].
N
La precisión de la solución obtenida depende de la elección adecuada del tamaño del paso.

Aunque por sencillez trabajaremos con tamaño de paso fijo, las técnicas más
eficientes adaptan continuamente el tamaño del paso al comportamiento de la solución:
• disminuyendo el paso si la solución varía rápidamente (lo que supone hacer más
operaciones y estar sujetos a errores de redondeo), o
• aumentándolo si la solución varía poco (obteniendo buenas aproximaciones ahorrando
costes computacionales y evitando errores de redondeo innecesarios).

Las aproximaciones en otros valores de x en a, b pueden hallarse utilizando interpolación.

9
Resolución numérica de ecuaciones diferenciales 19

1.1. Conceptos generales.

¿Origen de los Métodos Numéricos aplicados a una EDO?

Resolución numérica de ecuaciones diferenciales 20

1.1. Conceptos generales.

¿Origen de los Métodos Numéricos aplicados a una EDO?

dy
 k ( y  A)
dt
y (0)  y0

10
Resolución numérica de ecuaciones diferenciales 21

1.1. Conceptos generales.


Para la EDO
y( x )  f ( x, y ( x))
• La función f ( x, y ) da, para cada punto (x,y) del plano perteneciente al dominio de f , la
derivada de la función solución y(x) que pasa por ese punto.
• La derivada y’(x) de una función y(x) en un punto es el valor de la pendiente m de la recta
tangente a la gráfica de la función en dicho punto, (en nuestro caso, de la curva solución)
• recopilando esta información para
muchos puntos
y
f ( xi , y j )  mij

Se podría tener una idea de cómo


son las soluciones, representando dy
  k ( y  A)
las pendientes m ij en una dt
colección de puntos. y (0)  y 0

Un campo de direcciones o campo


de pendientes

Resolución numérica de ecuaciones diferenciales 22

1.1. Conceptos generales.


y( x )  f ( x, y )  La derivada y(x0) en el punto de inicio x0 es el valor

y ( x0 )  y0  de la pendiente de la recta tangente a la curva solución
en dicho punto,
m00  y( x0 )  f ( x0 , y0 )

y m00  y( x0 )  f ( x0 , y0 )  tan 

y( x)

y0

h
x0 x1 x

11
Resolución numérica de ecuaciones diferenciales 23

1.1. Conceptos generales.


y( x )  f ( x, y )  La derivada y(x0) en el punto de inicio x0 es el valor

y ( x0 )  y0  de la pendiente de la recta tangente a la curva solución
en dicho punto,
m00  y( x0 )  f ( x0 , y0 )

La ecuación de la recta tangente en x0 es y  y0  f ( x0 , y0 )  ( x  x0 )


y
y  y0  f ( x0 , y0 )  ( x  x0 )

y1

y ( x1 )
y0

h
x0 x1 x

Resolución numérica de ecuaciones diferenciales 24

1.1. Conceptos generales.


y( x )  f ( x, y )  La derivada y(x0) en el punto de inicio x0 es el valor

y ( x0 )  y0  de la pendiente de la recta tangente a la curva solución
en dicho punto,
m00  y( x0 )  f ( x0 , y0 )

La ecuación de la recta tangente en x0 es y  y0  f ( x0 , y0 )  ( x  x0 )


y
y  y0  f ( x0 , y0 )  ( x  x0 )
x  x1  y1  y0  f ( x0 , y0 )  ( x1  x0 )
y1

y ( x1 )
y0

h
x0 x1 x

12
Resolución numérica de ecuaciones diferenciales 25

1.1. Conceptos generales.


y( x )  f ( x, y )  La derivada y(x0) en el punto de inicio x0 es el valor

y ( x0 )  y0  de la pendiente de la recta tangente a la curva solución
en dicho punto,
m00  y( x0 )  f ( x0 , y0 )

La ecuación de la recta tangente en x0 es y  y0  f ( x0 , y0 )  ( x  x0 )


y
y  y0  f ( x0 , y0 )  ( x  x0 )
x  x1  y1  y0  f ( x0 , y0 )  ( x1  x0 )
y1 error
y1  y0  hf ( x0 , y0 )
y ( x1 )
y0

y1  y ( x1 )
h
x0 x1 x

Resolución numérica de ecuaciones diferenciales 26

1.1. Conceptos generales.


y( x )  f ( x, y )  La derivada y(x0) en el punto de inicio x0 es el valor

y ( x0 )  y0  de la pendiente de la recta tangente a la curva solución
en dicho punto,
m00  y( x0 )  f ( x0 , y0 )

La ecuación de la recta tangente en x0 es y  y0  f ( x0 , y0 )  ( x  x0 )


y
y  y0  f ( x0 , y0 )  ( x  x0 )
x  x1  y1  y0  f ( x0 , y0 )  ( x1  x0 )
y1 error
y1  y0  hf ( x0 , y0 )
y ( x1 )
y0
?
y1  y ( x1 )
h Utilizando el desarrollo de Taylor
x0 x1 x se puede tener cierto conocimiento
acerca de la magnitud del error

13
Resolución numérica de ecuaciones diferenciales. 27

1.2. Métodos de Taylor.

Métodos de Taylor

• Estos métodos numéricos son métodos paso a paso, utilizando la misma


fórmula en cada paso
• Estas fórmulas son sugeridas por el desarrollo en serie de Taylor.
• La función que expresaremos en términos de su desarrollo de Taylor es
precisamente la solución y(x) -desconocida- del problema planteado.

Método de Euler.

Es el más elemental de ellos. Aunque es un método que apenas se utiliza en la


práctica, la sencillez de su construcción ilustra la técnica que se utiliza para
construir métodos más avanzados, sin las farragosas manipulaciones
algebraicas que acompañan estas construcciones.

Resolución numérica de ecuaciones diferenciales. 28

1.2. Métodos de Taylor.

Método de Euler  dy
  f ( x, y ), para a  x  b
Sea el PVI :  dx
 y ( x0 )  y0

14
Resolución numérica de ecuaciones diferenciales. 29

1.2. Métodos de Taylor. Método de Euler

Método de Euler  dy
  f ( x, y ), para a  x  b
Sea el PVI :  dx
 y ( x0 )  y0

Como y(x) es la solución de la ecuación diferencial, verifica que y(x)  f (x, y(x)),
y particularizando para x  x1  x0  h , el desarrollo de Taylor permite obtener y(x1)
a partir de y( x0 )
h2    x0 , x1 
y( x1 )  y( x0  h)  y( x0 )  hf ( x0 , y( x0 ))  y( ), para algún
2

Resolución numérica de ecuaciones diferenciales. 30

1.2. Métodos de Taylor. Método de Euler

Método de Euler  dy
  f ( x, y ), para a  x  b
Sea el PVI :  dx
 y ( x0 )  y0

Repitiendo el proceso para cada intervalo, generamos una sucesión de puntos


que se aproximan a la gráfica de la solución y(x) . Para cada n=0,1,2,….,N-1
h2
y( xn1)  y( xn  h)  y( xn )  hf ( xn , y( xn ))  y(n ), para algúnn   xn , xn1 
2

Si el tamaño del paso es suficientemente pequeño, y las derivadas están acotadas,


se puede considerar despreciable el término en h2 .
Eliminando el término del error, se obtiene una ecuación en diferencias que
aproxima la ecuación diferencial, llamada aproximación de Euler

yn 1  yn  hf ( xn , yn ), para n  0,1, 2,...., N  1

15
Resolución numérica de ecuaciones diferenciales. 31

1.2. Métodos de Taylor. Método de Euler


El esquema del método de Euler es

y0  y ( x0 )
yn 1  yn  hf ( xn , yn ), para n  0,1, 2,...., N  1

Error local en la primera etapa


Error global en la segunda etapa
y

u1

u0

x0 x1 x

Resolución numérica de ecuaciones diferenciales. 32

1.2. Métodos de Taylor. Método de Euler

El error local del método de Euler en el n-ésimo paso es la


diferencia entre la solución exacta y la calculada con el método en
el nodo xn 1 supuesto que el valor en el nodo xn es exacto.

h2
 n 1  y ( xn 1 )  yn  hf ( xn , y ( xn ))  y( n ),
2

para algún  n  xn , xn1  y para n  0,1,..., N  1


El error local es proporcional a h 2,

h2 y( n )
 n 1 2 1
lim 2
 lim 2
 y ( n )  K , cte  0
h 0 h h 0 h 2
o sea, un infinitésimo O( h 2), así que el error local es de orden 2.

16
Resolución numérica de ecuaciones diferenciales. 33

1.2. Métodos de Taylor. Método de Euler


Si puede obtenerse la solución exacta del problema, el error verdadero, o acumulado
del método se llama error de truncamiento o de discretización global, esto es

en  y ( xn )  yn , n  0,1, 2,.....N

Resolución numérica de ecuaciones diferenciales. 34

1.2. Métodos de Taylor. Método de Euler


Si puede obtenerse la solución exacta del problema, el error verdadero, o acumulado
del método se llama error de truncamiento o de discretización global, esto es

en  y ( xn )  yn , n  0,1, 2,.....N
Si fuera éste el único que se comete en cada paso, al llegar al extremo superior del
intervalo (dar N pasos) el error acumulado sería
N
h2 h2 (b  a ) h

n 1 2
y( n )  N
2
y( n ) 
2
y ( n )  ( h)

Podría haber otros errores, pero esta estimación del error global es la que predomina.

17
Resolución numérica de ecuaciones diferenciales. 35

1.2. Métodos de Taylor. Método de Euler


Si puede obtenerse la solución exacta del problema, el error verdadero, o acumulado
del método se llama error de truncamiento o de discretización global, esto es

en  y ( xn )  yn , n  0,1, 2,.....N
Si fuera éste el único que se comete en cada paso, al llegar al extremo superior del
intervalo (dar N pasos) el error acumulado sería
N
h2 h2 (b  a ) h
n 1 2
y( n )  N
2
y( n ) 
2
y ( n )  ( h)

Podría haber otros errores, pero esta estimación del error global es la que predomina.

Teorema. En las condiciones consideradas del PVI bien planteado, si existen



constantes L y M tales que y ( x)  M y f ( x, y ( x))  L
y
Entonces, para cada n = 0,1,2,...,N, se tiene

hM L ( xn a )
y( xn )  yn  (e  1).
2L

Resolución numérica de ecuaciones diferenciales. 36

1.2. Métodos de Taylor. Método de Euler


Convergencia
Relacionado con el error global, un asunto interesante consiste en determinar si
la solución aproximada yn converge a la exacta y(x) y con qué velocidad.
Un método numérico es convergente si se satisface
lim yn  y ( xn ), para todo xn  [a, b]
h 0
xn  a  nh

Lo que significa que cuando la longitud de paso h es suficientemente pequeña la


aproximación yn proporcionada por el método numérico esta “cerca” de la
solución exacta y(xn).

En general se verifica que si el error local es un infinitésimo de orden hk , cuando


h 0, entonces el error global en es un infinitésimo de orden hk-1 , y en tal caso se
dice que el método es de orden k-1.

El método de Euler converge a la solución teórica, y es de orden 1.

18
Resolución numérica de ecuaciones diferenciales. 37

1.2. Métodos de Taylor. Método de Euler


Ejemplo
Vamos a utilizar el método de Euler para aproximar la solución del PVI:

y '  y  x 2  1, 0  x  2
y (0)  0,5
suponiendo que N=10.

20
Si N=10, entonces h   0.2, xn  a  nh  0  0.2n  0.2n
10
y

y(0)  0.5

h
x
0 2
x0 x1 x2 ... xn ... xN 1 xN

Resolución numérica de ecuaciones diferenciales. 38

1.2. Métodos de Taylor. Método de Euler


(sigue Ejemplo Euler y '  y  x 2  1, 0  x  2
y (0)  0,5
y0  0.5
y1  y0  h( y0  x02  1)  0.5  0.2(0.5  02  1)  0.5  0.3  0.8
y2  y1  0.2( y1  x12  1)  0.8  0.2(0.8  0.22  1)  0.8  0.352  1.152

y3  y2  0.2( y2  x2 2  1)  1.152  0.2(1.152  0.42  1)  1.152  0.398  1.5504

19
Resolución numérica de ecuaciones diferenciales. 39

1.2. Métodos de Taylor. Método de Euler


(sigue Ejemplo Euler y '  y  x 2  1, 0  x  2
y (0)  0,5
y0  0.5
y1  y0  h( y0  x02  1)  0.5  0.2(0.5  02  1)  0.5  0.3  0.8
y2  y1  0.2( y1  x12  1)  0.8  0.2(0.8  0.22  1)  0.8  0.352  1.152

y3  y2  0.2( y2  x2 2  1)  1.152  0.2(1.152  0.42  1)  1.152  0.398  1.5504

y4  y3  0.2( y3  x32  1)  1.5504  0.2(1.5504  0.62  1)  1.5504  0.4381  1.9885


y5  y4  0.2( y4  x4 2  1)  1.98848  0.2(1.98848  0.82  1)  2.4582
y6  y5  0.2( y5  x52  1)  2.4582  0.2(2.4582  12  1)  2.9498
y7  y6  0.2( y6  x6 2  1)  2.9498  0.2( 2.9498  1.2 2  1)  3.4518
y8  y7  0.2( y7  x7 2  1)  3.4518  0.2(3.4518  1.4 2  1)  3.9501
y9  y8  0.2( y8  x82  1)  3.9501  0.2(3.9501  1.62  1)  4.4282
y10  y9  0.2( y9  x9 2  1)  4.4282  0.2(4.4282  1.82  1)  4.8658

Resolución numérica de ecuaciones diferenciales. 40

1.2. Métodos de Taylor. Método de Euler


(sigue Ejemplo Euler) y '  y  x 2  1, 0  x  2
y (0)  0,5
Si el cálculo no se hace con ordenador conviene escribir el esquema para cualquier
valor n y después evaluar, para cada n, la solución aproximada en el nodo
correspondiente

yn1  yn  h( yn  xn 2  1), para n  0,1, 2,....,9


yn 1  yn  0.2( yn  0.04n 2  1), para n  0,1, 2,...., 9
yn 1  1.2 yn  0.008n 2  0.2, para n  0,1, 2,....,9

y1  1.2 y0  0.008  02  0.2  0.8000 y6  1.2 y5  0.008 1.02  0.2  2.9498


y2  1.2 y1  0.008  0.22  0.2  1.1520 y7  1.2 y6  0.008 1.22  0.2  3.4518
y3  1.2 y2  0.008  0.4  0.2  1.5504
2
y8  1.2 y7  0.008 1.42  0.2  3.9501
y4  1.2 y3  0.008  0.62  0.2  1.9885 y9  1.2 y8  0.008 1.62  0.2  4.4282
y5  1.2 y4  0.008  0.82  0.2  2.4582 y10  1.2 y9  0.008 1.82  0.2  4.8658

20
Resolución numérica de ecuaciones diferenciales. 41

1.2. Métodos de Taylor. Método de Euler

y '  y  x 2  1, 0  x  2
y (0)  0,5

Nodo y(xn) yn Error


0 0.5000 0.5000 0
0.2000 0.8293 0.8000 0.0293
0.4000 1.2141 1.1520 0.0621
0.6000 1.6489 1.5504 0.0985
0.8000 2.1272 1.9885 0.1387
1.0000 2.6409 2.4582 0.1827
1.2000 3.1799 2.9498 0.2301
1.4000 3.7324 3.4518 0.2806
1.6000 4.2835 3.9501 0.3334
1.8000 4.8152 4.4282 0.3870
2.0000 5.3055 4.8658 0.4397

Resolución numérica de ecuaciones diferenciales. 42

1.2. Métodos de Taylor. Método de Euler


y '  y  x 2  1, 0  x  2
Nodo y(xn) yn Error
y (0)  0,5
0 0.5000 0.5000 0
0.1000 0.6574 0.6500 0.0074
0.2000 0.8293 0.8140 0.0153
0.3000 1.0151 0.9914 0.0237
0.4000 1.2141 1.1815 0.0325
0.5000 1.4256 1.3837 0.0419
0.6000 1.6489 1.5971 0.0519
0.7000 1.8831 1.8208 0.0624
0.8000 2.1272 2.0538 0.0734
0.9000 2.3802 2.2952 0.0850
1.0000 2.6409 2.5438 0.0971
1.1000 2.9079 2.7981 0.1098
1.2000 3.1799 3.0569 0.1230
1.3000 3.4554 3.3186 0.1367
1.4000 3.7324 3.5815 0.1509
1.5000 4.0092 3.8437 0.1655
1.6000 4.2835 4.1030 0.1805
1.7000 4.5530 4.3573 0.1957
1.8000 4.8152 4.6040 0.2111
1.9000 5.0671 4.8405 0.2266
2.0000 5.3055 5.0635 0.2420

21
Resolución numérica de ecuaciones diferenciales. 43

1.2. Métodos de Taylor. Método de Euler


y '  y  x 2  1, 0  x  2
y (0)  0, 5

Error global cometido con distintos tamaños de paso en el mismo nodo

xn h=0.1 h=0.1 h=0.05

0 0 0 0
0.2000 0.0293 0.0153 0.0078
0.4000 0.0621 0.0325 0.0167
0.6000 0.0985 0.0519 0.0267
1 kh1 h / 2 1
0.8000 0.1387 0.0734 0.0378   
1.0000 0.1827 0.0971 0.0502  kh h 2
1.2000 0.2301 0.1230 0.0637  2 kh2 h / 4 1
1.4000 0.2806 0.1509 0.0785   
1.6000 0.3334
 kh h 4
0.1805 0.0942
1.8000 0.3870 0.2111 0.1107
2.0000 0.4397 0.2420 0.1275

Puede observarse que a partir de la tercera fila, el valor en cada columna


(el error global cometido) es aproximadamente la mitad de la anterior

Resolución numérica de ecuaciones diferenciales. 44


1.2. Métodos de Taylor. Método de Euler

Nodo y(xn) yn Error Nodo y(xn) yn Error


0 0.5000 0.5000 0
0.0500 0.5769 0.5750 0.0019 1.0500 2.7737 2.7202 0.0535
0.1000 0.6574 0.6536 0.0038 1.1000 2.9079 2.8511 0.0568
0.1500 0.7416 0.7358 0.0058 1.1500 3.0434 2.9832 0.0602
0.2000 0.8293 0.8215 0.0078 1.2000 3.1799 3.1162 0.0637
0.2500 0.9205 0.9105 0.0099 1.2500 3.3173 3.2500 0.0673
0.3000 1.0151 1.0029 0.0121 1.3000 3.4554 3.3844 0.0710
0.3500 1.1130 1.0986 0.0144 1.3500 3.5938 3.5191 0.0747
0.4000 1.2141 1.1974 0.0167 1.4000 3.7324 3.6539 0.0785
0.4500 1.3183 1.2993 0.0191 1.4500 3.8709 3.7886 0.0823
0.5000 1.4256 1.4041 0.0215 1.5000 4.0092 3.9229 0.0862
0.5500 1.5359 1.5118 0.0241 1.5500 4.1468 4.0566 0.0902
0.6000 1.6489 1.6223 0.0267 1.6000 4.2835 4.1893 0.0942
0.6500 1.7647 1.7354 0.0293 1.6500 4.4190 4.3207 0.0983
0.7000 1.8831 1.8510 0.0321 1.7000 4.5530 4.4507 0.1024
0.7500 2.0040 1.9691 0.0349 1.7500 4.6852 4.5787 0.1065
0.8000 2.1272 2.0894 0.0378 1.8000 4.8152 4.7045 0.1107
0.8500 2.2527 2.2119 0.0408 1.8500 4.9426 4.8277 0.1149
0.9000 2.3802 2.3364 0.0438 1.9000 5.0671 4.9480 0.1191
0.9500 2.5096 2.4627 0.0470 1.9500 5.1882 5.0649 0.1233
1.0000 2.6409 2.5907 0.0502 2.0000 5.3055 5.1780 0.1275

22
Resolución numérica de ecuaciones diferenciales. 45

1.2. Métodos de Taylor. Método de Euler

y '  y  x 2  1, 0  x  2
y (0)  0.5

Resolución numérica de ecuaciones diferenciales. 46

1.2. Métodos de Taylor. Método de Euler

23
Resolución numérica de ecuaciones diferenciales. 47

1.2. Métodos de Taylor. Método de Euler

Resolución numérica de ecuaciones diferenciales. 48

1.2. Métodos de Taylor. Método de Euler


Veamos la cota de error para el PVI del ejemplo tratado
y   y  x 2  1, 0  x  2
y (0)  0,5
Como f ( x, y )  y  x 2  1, tenemos que f y ( x, y )  1, para todo y.  L  1
Sabemos que la solución exacta de este problema es y ( x)  ( x  1) 2  0.5e x
así que
y ( x)  2( x  1)  0.5e x , e y ( x)  2  0.5e x

y por tanto
y ( x)  0.5e 2  2, para 0  x  2  M  0.5e 2  2

utilizando la desigualdad de la cota del error del método de Euler

hM L ( xn  a )
y ( xn )  yn  (e  1).
2L
En nuestro caso con h=0.2, L=1 y M=0.5e2-2, obtenemos como cota del error

y ( xn )  yn  0.1(0.5e2  2)(e xn  1)

24
Resolución numérica de ecuaciones diferenciales. 49

1.2. Métodos de Taylor. Método de Euler

En la tabla se registran los errores de hecho del ejemplo, junto a las correspondientes
cotas del error.

Nodo y(xn) yn y(xn)- yn Cota error

0 0.5000 0.5000 0 0
0.2000 0.8293 0.8000 0.0293 0.0375
0.4000 1.2141 1.1520 0.0621 0.0833
0.6000 1.6489 1.5504 0.0985 0.1393
0.8000 2.1272 1.9885 0.1387 0.2076
1.0000 2.6409 2.4582 0.1827 0.2912
1.2000 3.1799 2.9498 0.2301 0.3931
1.4000 3.7324 3.4518 0.2806 0.5177
1.6000 4.2835 3.9501 0.3334 0.6698
1.8000 4.8152 4.4282 0.3870 0.8556
2.0000 5.3055 4.8658 0.4397 1.0826

Hagamos notar que la cota del error excede con mucho el error verdadero de la
aproximación, en particular para los valores más grandes de xn.

Resolución numérica de ecuaciones diferenciales. 50

1.2. Métodos de Taylor de mayor orden

Métodos de Taylor de mayor orden

Puesto que hemos construido el método de Euler a partir del desarrollo de Taylor
con k = 1, nuestro primer intento para hallar métodos que mejoren la precisión del
método de Euler consistirá en extender esta técnica de construcción para valores
mayores de k.

25
Resolución numérica de ecuaciones diferenciales. 51

1.2. Métodos de Taylor de mayor orden

Métodos de Taylor de mayor orden

Puesto que hemos construido el método de Euler a partir del desarrollo de Taylor
con k = 1, nuestro primer intento para hallar métodos que mejoren la precisión del
método de Euler consistirá en extender esta técnica de construcción para valores
mayores de k.

Supongamos que la solución y(x) del problema de valor inicial tiene k + 1 derivadas
continuas.
y '  f ( x, y ), a  x  b 

y (a )   
Si expresamos la solución y(x) en términos de su k-ésimo polinomio de Taylor
alrededor de xn , obtenemos
( x  xn ) 2
y ( x)  y ( xn )  ( x  xn ) y '( xn )  y ''( xn )  ...
2
( x  xn ) k ( k ) ( x  xn ) k 1 ( k 1)
 y ( xn )  y ( n ), para algun  n  [ xn , xn1 ]
k! (k  1)!

Resolución numérica de ecuaciones diferenciales. 52

1.2. Métodos de Taylor de mayor orden

Métodos de Taylor de mayor orden

Puesto que hemos construido el método de Euler a partir del Teorema de Taylor
con k = 1, nuestro primer intento para hallar métodos que mejoren la precisión del
método de Euler consistirá en extender esta técnica de construcción para valores
mayores de k.

Supongamos que la solución y(x) del problema de valor inicial tiene k + 1 derivadas
continuas.
y '  f ( x, y ), a  x  b 

y(a)   
Si expresamos la solución y(x) en términos de su k-ésimo polinomio de Taylor
alrededor de xn , obtenemos
( x  xn ) 2
?
y ( x)  y ( xn )  ( x  xn ) y '( xn )  y ''( xn )  ...
2
?
( x  xn ) k ( k ) ( x  xn ) k 1 ( k 1)
 y ( xn )  y ( n ), para algun  n  [ xn , xn1 ]
k! (k  1)!

26
Resolución numérica de ecuaciones diferenciales. 53

1.2. Métodos de Taylor de mayor orden


Derivando sucesivamente la solución y(x) obtenemos

y '  f ( x, y ( x)), y ''( x )  f '( x, y ( x )), y en general, y ( k ) ( x)  f ( k 1) ( x, y ( x))

Sustituyendo estos resultados en el desarrollo de Taylor obtenemos


( x  xn ) 2
y ( x)  y ( xn )  ( x  xn ) f ( xn , y ( xn ))  f '( xn , y( xn ))  ...
2
( x  xn ) k ( k 1) ( x  xn )k 1 ( k )
 f ( xn , y ( xn ))  f ( n , y ( n )),
k! (k  1)!
Particularizando para x  xn 1 , tomando h  xn 1  xn , tenemos
2
h
y ( xn 1 )  y ( xn )  hf ( xn , y ( xn ))  f '( xn , y ( xn ))  ...
2
h k ( k 1) h k 1
 f ( xn , y ( xn ))  f ( k ) ( n , y ( n )),
k! (k  1)!

La ecuación en diferencias del método correspondiente a esta igualdad se


obtiene eliminando el término del error que contiene el punto  n .

Resolución numérica de ecuaciones diferenciales. 54

1.2. Métodos de Taylor de mayor orden

Método de Taylor de Orden k

y0  
yn1  yn  hT ( k )( xn , yn ), para cada n  1,2,...,N - 1.
donde h h k 1 ( k 1)
T ( k ) ( xn , yn )  f ( xn , yn )  f ´( xn , yn )  ...  f ( xn , yn )
2 k!
h k 1 ( k 1)
El error local es y (n ), para algún  n  [ xn , xn1 ].
k!
Si se dan suficientes condiciones de derivabilidad, entonces el método de
Taylor de orden k tendrá un error local de orden O(hk+1) y un error global
de orden O(hk).

La fórmula de T (k ) es difícil de usar porque requiere conocer las derivadas


de f ( x, y ) con respecto a x , y puesto que f depende de x y de y , hay que
utilizar la regla de la cadena.

27
Resolución numérica de ecuaciones diferenciales. 55

1.2. Métodos de Taylor de mayor orden


Ejemplo. Taylor de orden dos y cuatro

Vamos a aplicar el método de Taylor de orden 2 al problema de valor inicial


y '  y  x 2  1, 0  x  2 

y (0)  0.5 
Para determinar el esquema del método de orden dos, debemos hallar
h
T (2) ( xn , yn )  f ( xn , yn )  f ´( xn , yn )
2
Calculamos la derivada de f ( x, y ( x ))  y ( x)  x 2  1 con respecto a la variable x:

d
f '( x, y ( x))  ( y  x 2  1)  y ' 2 x  y  x 2  2 x  1
dx
Por tanto
h h
T (2) ( xn , yn )  f ( xn , yn )  f ´( xn , yn )  yn  xn 2  1  ( yn  xn 2  2 xn  1) 
2 2
h
 (1  )( yn  xn 2  1)  hxn
2

Resolución numérica de ecuaciones diferenciales. 56

1.2. Métodos de Taylor de mayor orden

El método de Taylor de orden 2 viene dado, en consecuencia, por

y0  0.5
h
yn1  yn  h [(1  )( yn  xn 2  1)  hxn ]
2

Si h = 0.2, entonces N = 10 y x = 0.2n, para cada n=0,1,2,...,9,

y0  0.5
0.2
yn 1  yn  0.2[(1  )( yn  (0.2n) 2  1)  0.04n]
2
 1.22 yn  0.00088n 2  0.008n  0.22

28
Resolución numérica de ecuaciones diferenciales. 57

1.2. Métodos de Taylor de mayor orden

Para determinar el esquema del método de Taylor orden 4, debemos hallar ahora
h h2 h3
T (4) ( xn , yn )  f ( xn , yn )  f ´( xn , yn )  f ''( xn , yn )  f '''( xn , yn )
2 3! 4!
y calcular hasta la derivada tercera de f ( x, y ( x))  y ( x )  x 2  1 respecto a la
variable x:
d
f ''( x, y ( x))  ( y  x 2  1  2 x)  y ' 2 x  2  y  x 2  1  2 x  2  y  x 2  2 x  1
dx
d
f '''( x, y ( x))  ( y  x 2  2 x  1)  y ' 2 x  2  y  x 2  1  2 x  2  y  x 2  2 x  1
dx
con lo cual
h h2 h3
T (4) ( xn , yn )  f ( xn , yn ) 
f ´( xn , yn )  f ''( xn , yn )  f '''( xn , yn ) 
2 3! 4!
h h2 h3
 yn  xn 2  1  ( yn  xn 2  2 xn  1)  ( yn  xn 2  2 xn  1)  ( yn  xn 2  2 xn  1) 
2 6 24
h h 2 h3 h h 2
h h 2 h3
 (1    )( yn  xn 2 )  (1   )hxn  1   
2 6 24 3 12 2 6 24

Resolución numérica de ecuaciones diferenciales. 58

1.2. Métodos de Taylor de mayor orden

El método de Taylor de orden 4 viene dado, en consecuencia, por

y0  0.5
h h 2 h3 h h2 h h 2 h3
yn1  yn  h[(1    )( yn  xn 2 )  (1   )hxn  1    ]
2 6 24 3 12 2 6 24
Con el mismo tamaño h = 0.2, el método de cuarto orden viene dado por

y0  0.5
0.2 0.22 0.23 0.2 0.22
yn1  yn  0.2[(1    )( yn  (0.2n)2 )  (1   )(0.2n)
2 6 24 3 12
0.2 0.22 0.23
1    ]
2 6 24
0.2 0.04 0.008 0.2 0.04
 yn  0.2[(1    )( yn  0.04n 2 )  (1   )(0.04n)
2 6 24 3 12
0.2 0.04 0.008
1    ]
2 6 24
 1.2214 yn  0.008856n 2  0.00856n  0.2186

29
Resolución numérica de ecuaciones diferenciales. 59

1.2. Métodos de Taylor de mayor orden


Nodo y(xn) Euler yn Taylor 2 yn Taylor 4 yn

Resolución numérica de ecuaciones diferenciales. 60

1.2. Métodos de Taylor de mayor orden

Supongamos ahora que necesitamos conocer una aproximación en un punto


intermedio entre los de la tabla, por ejemplo en x = 1.25.

Si interpolamos linealmente (Polinomio de Lagrange de primer grado) las


aproximaciones de orden 4 en x = 1.2 y x = 1.4, obtenemos
x  x2 x  x1
P( x)  f ( x1)  f ( x2 ) 
x1  x2 x2  x1
1.25 1.4 1.25  1.2
 y(1.25)  3.1799640  3.7324321  3.3180810
1.2 1.4 1.4  1.2

puesto que el valor exacto es y(1.25) = 3.3173285, esta aproximación tiene un error
de 0.0007625, que es casi 30 veces la media de los errores de las aproximaciones
en 1.2 y 1.4.

30
Resolución numérica de ecuaciones diferenciales. 61

1.2. Métodos de Taylor de mayor orden

Podemos mejorar significativamente la aproximación de y(1.25) usando interpolación


cúbica de Hermite: “Determinar un polinomio que coincida con una función y su
primera derivada en ciertos puntos”. En nuestro caso, dos puntos.

Para ello necesitamos aproximaciones de los valores y´(1.2) e y´(1.4),así como las
aproximaciones de y (l.2) e y (1.4).

Pero las aproximaciones de las derivadas están a nuestra disposición en la ecuación


diferencial, ya que
y '  f ( x, y( x))  y  x2  1
Por lo que
y '(1.2)  y (1.2)  1.22  1  3.1799640  1.44  1  2.7399640
y '(1.4)  y (1.4)  1.42  1  3.7324321  1.96  1  2.7724321

Resolución numérica de ecuaciones diferenciales. 62

1.2. Métodos de Taylor de mayor orden

La expresión del polinomio de Hermite para interpolar una función cuando se


conocen dos puntos y las derivadas en esos dos puntos, es:

P3 ( x)  f [z0 ]  f [ z0 , z1](x - z0 )  f [ z0 , z1, z2 ]( x - z0 )( x - z1)  f [ z0 , z1, z2 , z3 ]( x - z0 )( x - z1)( x - z2 )

Donde los coeficientes son las Diferencias divididas del polinomio cúbico de Hermite:

z0  x0 f [z0]  f (x0)
f [z0, z1]  f '(x0)
f [z1, z2]  f [z0, z1]
z1  x0 f [z1]  f (x0 ) f [z0, z1, z2] 
z2  z0
f [z2]  f [z1] f [z1, z2, z3]  f [z0, z1, z2]
f [z1, z2]  f [z0, z1, z2, z3] 
z2  z1 z3  z0
f [z2, z3]  f [z1, z2]
z2  x1 f [z2]  f (x1) f [z1, z2, z3] 
z3  z1
f [z2, z3]  f '(x1)
z3  x1 f [z3]  f (x1)

31
Resolución numérica de ecuaciones diferenciales. 63
1.2. Métodos de Taylor de mayor orden
Diferencias divididas del polinomio cúbico de Hermite
 1.2 3.179964 
 2.7399640(C) 
 
 D C 
 1.2 3.179964(A)  0.1118825(F) 
1.4  1.2
 
 
 BA 
 2.7623405(D) GF
 1.4  1.2  0.3071225 
 1.4  1.2 
 ED 
 1.4 3.7324321(B)  0.0504580(G) 
 1.4  1.2 
 2.7724321(E) 
 1.4 3.7324321 
 

El polinomio cúbico de Hermite viene dado por

y( x)  3.1799640  2.7399640( x -1.2)  0.1118825( x -1.2)2 - 0.3071225( x  1.2)2 ( x -1.4)

y(1.25)  3.1799640  2.7399640(1.25 -1.2)  0.1118825(1.25 -1.2)2 - 0.3071225(1.25  1.2)2 (1.25 -1.4)
 3.1799640 + 0.1369982 + 0.0002797 - 0.0001152 = 3.3173571

Resultado con un error menor que el doble del error medio en los puntos
1.2 y 1.4, o bien un 4% del error que se comete interpolando linealmente.

32

You might also like