Diferenciación numérica

Anuncio
Clase No. 23:
Diferenciación numérica:
Método de Euler explícito
Métodos basados en la serie de Taylor
MAT–251
Dr. Alonso Ramírez Manzanares
CIMAT A.C.
e-mail: alram@ cimat.mx
web: http://www.cimat.mx/salram/met_num/
Dr. Joaquín Peña Acevedo
CIMAT A.C.
e-mail: joaquin@ cimat.mx
Joaquín Peña (CIMAT)
Métodos Numéricos (MAT–251)
09.11.2015
1 / 27
Introducción (I)
• Una ecuación diferencial es una ecuación que relaciona a una función
de una o varias variables con sus derivadas.
• Si la solución es una función de una sola variable, entonces decimos
que la ecuación es ordinaria.
• De manera general, una ecuación ordinaria es de la forma
dn y
dxn
= f (x, y(x), y0 (x), ..., y(n−1) (x) ).
• La derivada de mayor orden determina el orden de la ecuación
diferencial.
Joaquín Peña (CIMAT)
Métodos Numéricos (MAT–251)
09.11.2015
2 / 27
Introducción (II)
• También podemos tener un sistema de ecuaciones diferenciales
ordinarias. En este caso tenemos n funciones y1 (x), y2 (x), ..., yn (x) tales
que
dy1
dx
dy2
dx
..
.
=
f1 (x, y1 (x), y2 (x), ... , yn (x) )
=
f2 (x, y1 (x), y2 (x), ... , yn (x) )
..
.
..
.
=
fn (x, y1 (x), y2 (x), ... , yn (x) )
dyn
dx
Escrito de manera más compacta,
dy
dx
= f (x, y(x)),
con y(x) = (y1 (x), y2 (x), ... , yn (x)),
Así, y : R → Rn , y f : Rn+1 → Rn .
Joaquín Peña (CIMAT)
Métodos Numéricos (MAT–251)
09.11.2015
3 / 27
Introducción (III)
• Hay que especificar el intervalo en que queremos encontrar la solución.
• También necesitamos una condición auxiliar para encontrar la solución
del problema.
• Un problema de valor inicial (PVI) para una ecuación diferencial de
primer orden:
dy
dx
y(x0 )
=
f (x, y(x)),
=
y0 .
x ∈ [x0 , x1 ]
(1)
• Una ecuación de orden n la podemos transformar en un sistema de
ecuaciones de primer orden mediante
y1 (x) = y(x),
yi+1 (x) = y(i) (x),
y1 (a) = y(a),
Joaquín Peña (CIMAT)
···
i = 1, ..., n − 1.
, yn−1 (a) = y(n−1) (a)
Métodos Numéricos (MAT–251)
09.11.2015
4 / 27
Existencia y unicidad
• Tenemos el teorema de Peano, que nos dice que si f (x, y) es continua en
un dominio Ω, que contiene al punto inicial (x0 , y 0 ), entonces la solución
existe en un intervalo alrededor de x0 .
• La unicidad puede estar garantizada si la función f es Lipschitz continua
en Ω respecto a y. Esto es, existe L tal que
kf (x, y 1 ) − f (x, y 2 )k < Lky 1 − y 2 k
para todo (x, y 1 ), (x, y 2 ) ∈ Ω.
• El cálculo de la solución del problema de valor inicial puede requerir el
uso de algún método numérico.
Teorema de existencia y unicidad
Si existe un dominio Ω que contiene a la condición inicial (x0 , y 0 ) en el que
la función f (x, y) es continua y es Lipschitz en y, entonces existe una única
solución al PVI (1) en el intervalo [x0 − δ, x0 + δ] con δ > 0.
Joaquín Peña (CIMAT)
Métodos Numéricos (MAT–251)
09.11.2015
5 / 27
Métodos numéricos de solución
• En general, se define el intervalo [a, b] en el que se quiere calcular la
solución.
• Se discretiza el intervalo
a = x0 < x1 < x2 < · · · < xn = b
para tratar de calcular el valor de la solución en puntos xi , yi ≈ y(xi ).
• Frecuentemente la distribución de los nodos es uniforme, por lo que el
valor h = xi+1 − xi es constante.
• Hay métodos los que se trata de calcular todos los valores de las
variables yi al mismo tiempo, lo cual conduce a resolver sistemas de
ecuaciones.
• Otros métodos se basan en estimar el valor yi a partir de valores previos
yi−1 , yi−2 , ..., ya determinados. Como esto permite calcular el valor en
xi = xi−1 + h, a h se le llama el tamaño de paso.
Joaquín Peña (CIMAT)
Métodos Numéricos (MAT–251)
09.11.2015
6 / 27
Relación con integración
Resolver una ecuación diferencial y el cálculo de integrales están
relacionados. Consideremos el problema de valor inicial:
dy
dx
y(a)
=
f (x, y)
=
y0
x ∈ [a, b]
Integrando de t a t + h ambos miembros obtenemos
Joaquín Peña (CIMAT)
Métodos Numéricos (MAT–251)
09.11.2015
7 / 27
Relación con integración
Resolver una ecuación diferencial y el cálculo de integrales están
relacionados. Consideremos el problema de valor inicial:
dy
dx
y(a)
=
f (x, y)
=
y0
x ∈ [a, b]
Integrando de t a t + h ambos miembros obtenemos
Z t+h
dy
t
dx
Z t+h
dx =
Z t+h
f (x, y) dx
=⇒
y(t + h) = y(t) +
t
f (x, y(x)) dx
t
Si reemplazamos la integral por alguna de las reglas de cuadratura vistas
anteriormente podemos obtener una fórmula para resolver la ecuación
diferencial.
Joaquín Peña (CIMAT)
Métodos Numéricos (MAT–251)
09.11.2015
7 / 27
Relación con series de Taylor
Suponemos que y tiene una expansión en series de Taylor:
y(x + h) = y(x) + hy0 (x) +
h2
2
y00 (x) + ... +
hm
m!
y(m) (x) + ...
• Lo usual es truncar la serie después de cierta cantidad de términos.
• Si truncamos después de m + 1 términos, decimos que obtenemos un
método basado en series de Taylor de orden m.
• Lo que resta es aproximar las derivadas que permanecen en la
expresión o calcularla una a partir de la anterior.
Joaquín Peña (CIMAT)
Métodos Numéricos (MAT–251)
09.11.2015
8 / 27
Método de Euler (I)
Queremos resolver el problema de valor inicial
dy
dx
y(a)
=
f (x, y)
=
y0
x ∈ [a, b]
Al usar un método basado en series de Taylor de orden 1, obtenemos el
método de Euler:
y(x + h) ≈ y(x) + hy0 (x) = y(x) + hf (x, y(x))
Dividimos el intervalo en n partes iguales:
a = x0 < x1 < · · · < xn = b,
b−a
.
n
Si denotamos por yi al valor que se obtiene por el el método de Euler en xi ,
entonces
xi = xi−1 + h,
yi = yi−1 + hf (xi−1 , yi−1 ),
Joaquín Peña (CIMAT)
h=
i = 1, 2, ..., n.
Métodos Numéricos (MAT–251)
09.11.2015
9 / 27
Método de Euler (II)
Otra forma de obtener el método de Euler es mediante integración,
aproximando la integral por un rectángulo cuya altura es igual al integrando
evaluado en el límite inferior de la integral:
Z x+h
f (t, y(t)) dt ≈ y(x) + hf (x, y(x))
y(x + h) = y(x) +
x
Ejemplo 1. Considere el problema de valor inicial
dy
dx
y(0)
Joaquín Peña (CIMAT)
=
y
=
1
x ∈ [0, 5]
Métodos Numéricos (MAT–251)
09.11.2015
10 / 27
150
150
Método de Euler (III)
●
●
50
●
●
●
0
●●
1
●●●
●●
●●
2
●●
●●
●
●
●
●
●
●
0
●●●●●●●●●●●●
●●●
●●●●●
●
100
c(0, max(vs))
●
●
50
100
●
●
●
0
c(0, max(vs))
●
3
4
5
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
●●
●●
●●
●●
●●
●●
●
●
●●
●●●
●●●
●●●
●●●
●●●●
●●●●
●●●●●
●
●
●
●
●
●●●●●
●●●●●●●●
●●●●●●●●●●
●●●●●●●●●●●●●●●●
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
0
n =c(0,
505)
1
2
3
4
5
n = c(0,
150
5)
Comparación entre la solución analítica y la que se obtiene con el método
de Euler.
Joaquín Peña (CIMAT)
Métodos Numéricos (MAT–251)
09.11.2015
11 / 27
Método de Euler (IV)
Ejemplo 2. Considere el problema de valor inicial
dy
dx
y(0)
=
p
=
0
x ∈ [0, 2]
y
Tenemos dos soluciones:
x2
y(x) =
,
4
y
y(x) = 0.
Si aplicamos el método de Euler con n = 20, se tiene el siguiente resultado
Joaquín Peña (CIMAT)
Métodos Numéricos (MAT–251)
09.11.2015
12 / 27
0.6
0.4
0.0
0.2
c(0, max(vs))
0.8
1.0
Método de Euler (V)
●
0.0
●
●
●
●
●
0.5
●
●
●
●
●
●
1.0
●
●
●
●
1.5
●
●
●
●
●
2.0
c(0, b)
Joaquín Peña (CIMAT)
Métodos Numéricos (MAT–251)
09.11.2015
13 / 27
Método de Euler (VI)
Ejemplo 3. Considere el problema de valor inicial
dy
=
y cos x
=
1
x ∈ [0, 8π]
Y
0.0
0.5
1.0
1.5
2.0
2.5
3.0
dx
y(0)
0
5
10
15
20
25
X
h = 0.09856
Joaquín Peña (CIMAT)
Métodos Numéricos (MAT–251)
09.11.2015
14 / 27
1.5
1.0
0.5
0.0
Y
2.0
2.5
3.0
Método de Euler (VII)
0
5
10
15
20
25
h = 0.00614
X
Joaquín Peña (CIMAT)
Métodos Numéricos (MAT–251)
09.11.2015
15 / 27
Interpretación geométrica (I)
En el método de Euler explícito se da un paso de tamaño h en dirección de
la tangente:
1.0
y0 = − sin x,
●
y(0) = 1
●
●
●
●
●
●
●
0.0
Y
0.5
●
−0.5
●
●
●
●
−1.0
●
●
0
2
4
6
8
X
Joaquín Peña (CIMAT)
Métodos Numéricos (MAT–251)
09.11.2015
16 / 27
Estabilidad de la solución (I)
De esta forma, la solución numérica del PVI requiere una discretización del
intervalo [a, b]:
a = x0 < x1 < · · · < xn = b
Tenemos que h(i) = xi+1 − xi , para i = 0, ..., n − 1.
• Si h(i) es constante, h(i) = (b − a)/ n.
• Si h(i) es variable, decimos que el método de solución es adaptativo.
Vamos a denotar por yi a la aproximación numérica de la solución del PVI en
xi , mientras que y(xi ) denota a la solución exacta.
La solución numérica está formada por el conjunto de aproximaciones
{yi }ni=1 .
Estabilidad
Decimos que la solución numérica {yi }ni=1 para el PVI con condición inicial
y(a) = y0 es estable si para cualquier ε > 0 existe δ > 0 tal que {ŷi }ni=1 es
la solución numérica con condición inicial y(a) = ŷ0 y ky0 − ŷ0 k < δ, se debe
tener que kyi − ŷi k < ε para todo i = 1, ..., n.
Joaquín Peña (CIMAT)
Métodos Numéricos (MAT–251)
09.11.2015
17 / 27
Estabilidad de la solución (II)
Se dice que la solución numérica es asintóticamente estable cuando
ky0 − ŷ0 k < δ
Joaquín Peña (CIMAT)
=⇒
lim kyi − ŷi k = 0.
i→∞
Métodos Numéricos (MAT–251)
09.11.2015
18 / 27
Estabilidad del método de Euler
Consideremos el PVI:
dy
dx
y(0)
=
λy
=
0
Entonces
Joaquín Peña (CIMAT)
Métodos Numéricos (MAT–251)
09.11.2015
19 / 27
Estabilidad del método de Euler
Consideremos el PVI:
dy
dx
y(0)
=
λy
=
0
Entonces
yk+1 = yk + hλyk
De aquí que
yk+1 = (1 + hλ)k+1 y0
De la definición de estabilidad, para que el método de Euler sea estable se
debe cumplir
|1 + hλ| ≤ 1.
Joaquín Peña (CIMAT)
Métodos Numéricos (MAT–251)
09.11.2015
19 / 27
Error del método de Euler
También se puede definir el error local de truncamiento como
L(x, y; h) = y(x + h) − [y + hf (x, y)].
Puesto que y(x + h) = y(x) + hy0 (h) +
h2 00
y (ξ),
2
entonces
h2
y00 (ξ) = O(h2 )
2
Este error determina como afecta la aproximación a los pasos subsecuentes,
es decir, la propagación del error.
L(x, y; h) =
Joaquín Peña (CIMAT)
Métodos Numéricos (MAT–251)
09.11.2015
20 / 27
Fuentes de error
Las más importantes son
• el error de redondeo,
rn = |fl(yi ) − yi |.
• el error de truncamiento,
ei = |yi − y(xi )|
El error total está dado por
|fl(yi ) − y(xi )| = |fl(yi ) − yi + yi − y(xi )| ≤ |fl(yi ) − yi | + |yi − y(xi )| = ri + ei .
Joaquín Peña (CIMAT)
Métodos Numéricos (MAT–251)
09.11.2015
21 / 27
Métodos basados en series de Taylor (I)
Para obtener un método basado en series de Taylor de orden superior
podemos simplemente derivar la función f .
Ejemplo.
x
dy
=
dx
y(0)
Puesto que y0 =
x
,
y+1
y00
y000
=
y+1
0
x ∈ [0, 4]
entonces
=
xy0
1
y+1
−
(y + 1)2
y0
=
−
(y + 1)2
−
(y + 1)(y0 + xy00 ) − 2x(y0 )2
(y + 1)4
Así, podemos obtener un método de tercer orden:
Joaquín Peña (CIMAT)
Métodos Numéricos (MAT–251)
09.11.2015
22 / 27
Métodos basados en series de Taylor (II)
1
2
3
Tenemos el valor yi en xi .
xi
Calculamos yi0 =
.
yi + 1
Calculamos yi00 =
1
yi + 1
−
xi yi0
(yi + 1)2
yi0
4
Calculamos yi000 = −
5
Calculamos yi+1 = yi + hyi0 +
(yi + 1)2
−
(yi + 1)(yi0 + xi yi00 ) − 2xi (yi0 )2
h2
2
(yi + 1)3
yi00 +
h3
6
yi000 .
Comparamos
este método con Euler y la solución analítica, la cual es
p
y = x2 + 1 − 1.
Joaquín Peña (CIMAT)
Métodos Numéricos (MAT–251)
09.11.2015
23 / 27
Métodos basados en series de Taylor (III)
Taylor de orden 3
●
3.0
3.0
Euler
2.5
2.0
1.5
●
●
1.0
c(0, max(vs))
2.0
1.5
●
0.5
1.0
0.5
●
●
●
●
0
●
●
●
●
1
●
2
●
●
●
3
●
●
4
0.0
●
0.0
c(0, max(vs))
2.5
●
●
0
n =c(0,
10b)
Joaquín Peña (CIMAT)
●
1
2
3
4
n =c(0,
10b)
Métodos Numéricos (MAT–251)
09.11.2015
24 / 27
Método trapezoidal (I)
Regresando a la relación entre resolver EDOs e integrales:
Z t+h
y(t + h) = y(t) +
f (x, y(x)) dx
t
Si aproximamos la integral por la regla del trapecio, obtenemos un método
implícito:
yi+1 = yi +
1
2
h[f (xi , yi ) + f (xi+1 , yi+1 )]
En este caso es un método implícito de un paso. En general, esto nos
conduce a un sistema de ecuaciones.
Ejemplo. Para el problema de valor inicial planteado anteriormente
dy
dx
y(0)
Joaquín Peña (CIMAT)
=
y cos x
=
1
x ∈ [0, 8π]
Métodos Numéricos (MAT–251)
09.11.2015
25 / 27
Método trapezoidal (II)
Joaquín Peña (CIMAT)
Métodos Numéricos (MAT–251)
09.11.2015
26 / 27
Método trapezoidal (III)
Joaquín Peña (CIMAT)
Métodos Numéricos (MAT–251)
09.11.2015
27 / 27
Descargar