clase no. 24: problema de convolución y deconvolución ...joaquin/mn11/clase24.pdf ·...
Post on 28-Mar-2020
1 Views
Preview:
TRANSCRIPT
Clase No. 24:
Problema de convolución y deconvoluciónDiferencias finitas para EDO
MAT–251 Dr. Alonso Ramírez ManzanaresDepto. de MatemáticasUniv. de Guanajuatoe-mail: alram@cimat.mxweb: http://www.cimat.mx/salram/met_num/
Dr. Joaquín Peña AcevedoCIMAT A.C.e-mail: joaquin@cimat.mx
Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 07.11.2012 1 / 28
Convolución (I)Fijamos una función k(x) continua en el intervalo [−1,1]. Dada una funciónf , Definimos la función g como
g(x) =
∫ 1
0k(x− s)f (s)ds.
Hacemos una partición del intervalo, 0 = x0 < x1 < x2 < ... < xn = 1.Queremos estimar el valor g(xi) para diferentes funciones f . Por ello,conviene hacer lo siguiente:
1 Para cada xi, si aplicamos alguna fórmula de cuadratura que use lospuntos de la partición para aproximar el valor de la integral, tendremosque
g(xi) =
∫ 1
0k(xi − s)f (s)ds ≈
n∑
j=0
wjk(xi − xj)f (xj).
Como los valores wj y k(xi − xj) no cambian si reemplazamos f por otrafunción, conviene almacenarlos, de modo que sólo se calculen una vez.
Construimos una matriz K = [kij] de tamaño n+1, donde la entrada kij es
kij =wj−1k(xi−1 − xj−1), i, j = 1,2, ...,n+ 1.
Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 07.11.2012 2 / 28
Convolución (II)
2 Dada la función f , construimos el vector f = (f1, ..., fn+1)>, donde
fi = f (xi−1).3 Hacemos el producto g = Kf = (g1, ...,gn+1)
>, de modo que la entrada gidel vector g tiene la aproximación de g(xi−1).
Si usamos la regla del trapecio para calcular las integrales, entonces
g(xi) =
∫ 1
0k(xi − s)f (s)ds ≈
h
2[f (x0) + f (xn)] + h
n−1∑
j=1
k(xi − xj)f (xj).
Entonces w0 =wn = h2 , y wj = h para j = 1, ...,n− 1.
Para el caso en que k(x) = cosx, tenemos
ki1 =h
2cos(xi−1 − x0), kij = hcos(xi−1 − xj−1), i, j = 1,2, ...,n+ 1.
ki,n+1 =h
2cos(xi−1 − xn)
Para f (x) = sinx, se calcula f y g = Kf . El error entre
Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 07.11.2012 3 / 28
Convolución (III)
g1g2...
gn+1
y
g(x0)g(x1)
...g(xn)
.
n Error10 5.529586e-0740 2.110768e-0960 4.158964e-10
Si k(x) =20p
2πexp(−200x2), y
f (x) =
0 x < 0.1,1 0.1 ≤ x ≤ 0.25,exp(−100(x− 0.75)2) x > 0.25.
tenemos que si graficamos los vectores f y g = Kf se obtiene lo siguienteJoaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 07.11.2012 4 / 28
Convolución (IV)
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10
0.2
0.4
0.6
0.8
1
La definición de k y las gráficas de los vectores ayudan a entender elresultado de la operación.
Si agregamos ruido η a f y calculamos bg = K(f +η), obtenemos losiguiente.
Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 07.11.2012 5 / 28
Convolución (V)
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−0.2
0
0.2
0.4
0.6
0.8
1
1.2
Resulta que la matriz K es mal condicionada.
n cond(K)10 2.624820 62.810330 2.50× 104
40 9,85× 107
50 3.41× 1012
60 9.95× 1016
Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 07.11.2012 6 / 28
Convolución (VI)
¿ En qué nos afecta?
Para saberlo, generemos un vector η con números aleatorios entre[−0.000005,0.000005], y calculamos
Kx1 = g y Kx2 = g+η.
Para un vector η tal que ‖η‖ = 2.3× 10−6, se tiene que
‖x1 − x2‖ = 1.99× 1010.
Si medimos los errores, obtenemos:
‖Kx1 −g‖ = 8.55× 10−16,
‖Kx2 −g‖ = 2.46× 10−6.
Si graficamos el vector x1 obtenido de los datos sin ruido se obtiene losiguiente:
Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 07.11.2012 7 / 28
Convolución (VII)
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−1.5
−1
−0.5
0
0.5
1
1.5
2
Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 07.11.2012 8 / 28
Deconvolución (I)
El problema de deconvolución se trata de determinar f dado g y k:
g(x) =
∫ 1
0k(x− s)f (s)ds.
Usando la discretización del problema, sería obtener x dada g, suponiendoque K es conocida:
Kx = g.
Como K es mal condicionada, cambiamos el problema anterior por
(K + λI)xλ = g.
Entre más grande es λ, mejor condicionada es la matriz K + λI, pero lasolución xλ se aleja más de la solución del sistema Kx = g, que debería serf .
Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 07.11.2012 9 / 28
Deconvolución (II)
λ = 10−16
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−0.5
0
0.5
1
1.5
λ = 10−15
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−0.2
0
0.2
0.4
0.6
0.8
1
1.2
Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 07.11.2012 10 / 28
Deconvolución (III)
λ = 10−14
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−0.2
0
0.2
0.4
0.6
0.8
1
1.2
λ = 0.0001
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−0.2
0
0.2
0.4
0.6
0.8
1
1.2
Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 07.11.2012 11 / 28
Deconvolución (IV)λ = 0.1
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−0.2
0
0.2
0.4
0.6
0.8
1
1.2
λ ‖xλ − f‖ ‖Kxλ −g‖10−16 1.04 9.55× 10−16
10−15 7.28× 10−2 4.39× 10−15
10−12 2.15× 10−1 4.06× 10−12
10−8 4.19× 10−1 4.04× 10−8
10−6 4.83× 10−1 4.03× 10−6
10−5 5.45× 10−1 4.02× 10−5
10−4 5.96× 10−1 4.01× 10−4
10−2 7.26× 10−1 3.93× 10−2
10−1 9.72× 10−1 3.53× 10−1
Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 07.11.2012 12 / 28
Sistemas autónomos (I)
Hemos visto el PVI:Y ′ = F(x,Y), Y(a) = α.
La variable x aparece explicitamente separada del resto de las variablesY = (y1,y2, ...,yn), pero esto no necesariamente tiene que ser así. Siintroducimos la variable y0 = x y agregamos la ecuación diferencial
y′0 = 1
y la condición inicial y0(a) = a, entonces podemos reescribir el sistema
X′ =G(X), X(a) = β,
donde
X =
�
y0Y
�
, G =
�
1F
�
, β =
�
aα
�
.
En general, a un sistema de la forma X′ =G(X) se dice que es autónomo.
Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 07.11.2012 13 / 28
Sistemas autónomos (II)
Ejemplo. Considere el sistema
y′1(x) = −2(y2(x)− 2.4)
y′2(x) = 3(y1(x)− 1.2)
Es de la forma
Y ′ = F(Y(x)) con F(Y) =
�
0 −23 0
�
Y +
�
4.8−3.6
�
−1 0 1 2 3
01
23
4
ry1
ry2
Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 07.11.2012 14 / 28
Sistemas autónomos (III)La solución del problema es de la forma
Y(x) = r
�p2cos(
p6x+ x0)p
3sin(p
6x+ x0)
�
+
�
1.22.4
�
Usamos la condición inicial
Y(0) =�
1.51.5
�
• Calculamos la solución con el método de Euler.
Yk+1 = Yk + hF(Yk)
• La comparamos con la solución con el método de Runge-Kutta desegundo orden.
Yk+1 = Yk +h
2(K1 +K2)
K1 = F(Yk)
K2 = F(Yk + hK1)
Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 07.11.2012 15 / 28
Resultado con Euler (h = 0.005,n = 3000)
−1 0 1 2 3
01
23
4
y1
y 2
Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 07.11.2012 16 / 28
Resultado con RK2 (h = 0.005,n = 3000)
−1 0 1 2 3
01
23
4
y1
y 2
Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 07.11.2012 17 / 28
Métodos de diferencias finitas (I)
Queremos resolver
y′′ = f (x,y,y′)
y(a) = α, y(b) = β
Aproximamos las derivadas por algún esquema de diferencias finitas:
y′(x) ≈1
2h[y(x+ h)− y(x− h)]
y′′(x) ≈1
h2[y(x+ h)− 2y(x) + y(x− h)]
Hacemos una discretización uniforme del intervalo [a,b]:
a = x0 < x1 < · · · < xn = b
Entonces tenemos que
Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 07.11.2012 18 / 28
Métodos de diferencias finitas (II)
x0 = α1
h2[yi−1 − 2yi + yi+1] = f
�
xi, yi,1
2h(yi+1 − yi−1)
�
i = 1,2, ...,n− 1
yn = β
Consideremos el caso lineal:
f (x, y, y′) = u(x) + v(x)y+w(x)y′
Entonces
1
h2[yi−1 − 2yi + yi+1] = ui + viyi +
wi
2h(yi+1 − yi−1)
Es decir,
−�
1+h
2wi
�
yi−1 + (2+ h2vi)yi −�
1−h
2wi
�
yi+1 = −h2ui
Si definimos
Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 07.11.2012 19 / 28
Métodos de diferencias finitas (III)
ai = −�
1+h
2wi
�
di = 2+ h2vi
ci = −�
1−h
2wi
�
bi = −h2ui
Entonces para i = 2, ...,n− 2 tenemos
aiyi−1 + diyi + ciyi+1 = bi
Para i = 1, a1α+ d1y1 + c1y2 = b1.
Para i = n− 1, an−1yn−2 + dn−1yn−1 + cn−1β = bn−1.
Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 07.11.2012 20 / 28
Métodos de diferencias finitas (IV)
Así, tenemos que resolver el sistema lineal
d1 c1a2 d2 c2
a3 d3 c3. . .
. . .. . .
an−2 dn−2 cn−2an−1 dn−1
y1y2y3...
yn−2yn−1
=
b1 − a1αb2b3...
bn−2bn−1 − cn−1β
Ejemplo.
y′′ = y′ − y+ ex − 3sinx (1)
y(1) = α = 1.097374911 (2)
y(3) = β = 56.559080896 (3)
La solución del problema es y(x) = ex − 3cosx.
Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 07.11.2012 21 / 28
Métodos de diferencias finitas (V)
En este caso se tiene que
(2− h2)y1 −�
1−h
2
�
y2 = −h2[ex1 − 3sinx1] +
�
1+h
2
�
α
−�
1+h
2
�
yi−1 + (2− h2)yi −�
1−h
2
�
yi+1 = −h2[exi − 3sinxi]
−�
1+h
2
�
yn−2 + (2− h2)yn−1 =
�
1−h
2
�
β− h2[exn−1 − 3sinxn−1]
Tomamos n = 100.
Resolvemos el sistema de ecuaciones usando el método de Gauss-Seidel.
Inicializamos el algoritmo con el segmento que une a los puntos (a, α) y(b, β).
Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 07.11.2012 22 / 28
Métodos de diferencias finitas (VI)
Después de 20000 iteraciones, el error entre la solución analítica y lanumérica es 0.2055.
1.0 1.5 2.0 2.5 3.0 3.5 4.0
010
2030
4050
vx
vy
Inicialización y solución numérica
Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 07.11.2012 23 / 28
Métodos de diferencias finitas (VII)
1.0 1.5 2.0 2.5 3.0 3.5 4.0
0.00
00.
010
0.02
00.
030
vx
vy −
vs
Error yi − y(xi)
n max |yi − y(xi)| Iteraciones50 0.0082 7382
100 0.0022 26200
Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 07.11.2012 24 / 28
Ejemplo de condiciones mixtas (I)
Consideremos el problema
x2y′′ − 0.11y = 0,
y(0) = 0,
y′(1) = 1.1
La solución del problema es y(x) = x1.1.
0 2 4 6 8 10
−4
−2
02
4
c(0, 10)
c(−
4, 4
)
● ● ● ● ● ● ● ●
x0 x1 x2 x3 xn−3 xn−2 xn−1 xn
Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 07.11.2012 25 / 28
Ejemplo de condiciones mixtas (II)
Para los nodos interiores tenemos que la siguiente ecuación:
x2i
yi−1 − 2yi + yi+1
h2− 0.11yi = 0
Así, para i = 2, ...,n− 1 tenemos
x2iyi−1 − (2x2
i+ 0.11h2)yi + x2
iyi+1 = 0
Para i = 1,−(2x2
1 + 0.11h2)y1 + x21y2 = 0
Para i = n,yn−2 − 4yn−1 + 3yn
2h= 1.1
Probamos para diferentes discretizaciones, y obtenemos los siguientesresultados:
Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 07.11.2012 26 / 28
Ejemplo de condiciones mixtas (III)
0.0 0.2 0.4 0.6 0.8 1.0
0.0
0.2
0.4
0.6
0.8
1.0
c(a, b)
c(m
alph
a, m
beta
* b
)
Inicialización y solución numérica
Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 07.11.2012 27 / 28
Ejemplo de condiciones mixtas (IV)
Error yi − y(xi)
0.0 0.2 0.4 0.6 0.8 1.0
0.00
00.
001
0.00
20.
003
0.00
40.
005
vx
vy −
vs
n max |yi − y(xi)| Iteraciones Error cuadrático25 0.001024 1486 0.0050350 0.001287 4292 0.00710
100 0.005231 10907 0.03680
Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 07.11.2012 28 / 28
top related