Beruflich Dokumente
Kultur Dokumente
en Derivadas Parciales
Clculo Numrico
Prctica 4
de un sistema mediante LU
Ecuacin de Ondas
Mtodo
implcito
Ecuacin de Laplace
Mtodo
c1 a 2 b 2
c1 l 2
c 2 a 3 b3
c 2 l3
c
a
c
l
3
4
3
4
1 u1
1 u2
1 u3
Algoritmo de Factorizacin
function [c,l,u]=clu(c,a,b)
n = length(a);
l(1) = a(1);
for i=2:n
u(i-1) = b(i-1)/l(i-1);
l(i) = a(i) - c(i-1)*u(i-1);
end
Eliminacin
y(1)=d(1)/l(1);
for i=2:n
y(i)=(d(i)-c(i-1)*y(i-1))/l(i);
end
Sustitucin regresiva
x(n)=y(n);
for i=n-1:-1:1
x(i)=y(i)-u(i)*x(i+1);
end
Introduccin
Ecuacin
Ecuacin
de Laplace
uxx uyy = 0
Ecuacin de Ondas
< x < L,
Ecuacin de
Ondas
utt = cuxx ,
t>0
Condiciones
iniciales
u(x, 0) = f(x)
ut(x, 0) = g(x)
Condiciones
de contorno
u(0,t) = l(t)
u(L,t) = r(t)
Ejemplo
Ecuacin:
utt = cuxx , < x < L, t > 0, c = 1, L=T=4
Condiciones iniciales
u(x, 0) = 2|x2|, ut(x, 0) = 0
Condiciones de contorno
u(0,t) = 0, u(L,t) = 0
Discretizacin
nx=4, nt=8
Mtodo implcito
2( ui1,j1 ui1,j+1)/4
+ (1 + 2)(ui,j1 ui,j+1)/2
2(ui+1,j1 + ui+1,j+1)/4 = ui,j
Sistema Aw = v,
v = (u1,j,u2,j,...,unx1,j)'
tridiagonal
ui,j+1 = wi ui,j1
Factorizacin LU
Uw = z
Lz = v
nx = 4;
h=1;
x = 0:h:4;
nt = 8;
k =.5;
c = 1;
f = 2 - abs(2-x);
g = zeros(size(x));
hl = zeros(1, nt+1);
hr = zeros(1, nt+1);
x = x(:);
Algoritmo: Preparacin
U = zeros(nx+1,nt+1);
Condiciones de contorno
% Solucin
U(1,:) = hl;
U(nx+1,:) = hr;
C = 2:nx;
R = 3:nx+1;
Algoritmo: construccin y
factorizacin
de
la
matriz
Diagonal principal
dp = (1+a2)/2*ones(1, nx-1);
Subdiagonal y superdiagonal
ds = -a2/4*ones(1, nx-2);
Factorizacin LU
[c,l,u]=clu(ds,dp,ds);
% Trminos independientes
b(1) = a2/4*(hl(j-1)+hl(j+1));
b(nx-1) = a2/4*(hr(j-1)+hr(j+1));
Ejemplo
t=0
t = 0. 5
t=1
t = 1. 5
t=2
t = 2.5
t=3
t = 3.5
t=4
x=1
1.0000
1.0000
0.9184
0.6926
0.2912
-0.2449
-0.7996
-1.2231
-1.3966
x=2
2.0000
1.7500
1.1837
0.4824
-0.1699
-0.6647
-0.9953
-1.2214
-1.3981
x=3
1.0000
1.0000
0.9184
0.6926
0.2912
-0.2449
-0.7996
-1.2231
-1.3966
Ecuaciones elpticas
Ecuacin de Laplace
uxx + uyy = 0,
0 < x < a,
0 < y <b
Condiciones de contorno
u(x,0) = f0(x),
u(x,b) = f1(x)
u(0,y) = g0(y),
u(a,y) = g1(y)
Discretizacin
u i 1, j 2 u i , j u i1, j
h
u i , j1 2 u i , j u i , j1
k
Ecuacin de Laplace
Matriz del
sistema:
grande ,
dispersa
Caso h = k :
Ecuacin
uxx+ uyy=0,
0 < x < 1,
0<y<1
Condiciones de contorno
u(x, 0) = 0,
u (x, 1) = 100x
u(0, y) = 0, u(1, y) = 100y
Discretizacin
h = 0.125, k = 0.25
h=.125;
x = 0:h:1; x = x(:);
k=.25;
alfa = k/h;
f0 = zeros(size(x));
f1 = 100*x;
g0 = zeros(size(y));
g1 = 100*y;
tol = 5e-2;
maxiter = 50;
y = 0:k:1;
Algoritmo: Preparacin
a2 = alfa^2;
m = length(f0); n = length(g0);
Condiciones de contorno
U(:,1) = f0;
U(:,n) = f1;
U(1,:) = g0;
U(m,:) = g1;
b2 = 2*(1+a2);
g0
1
f0
f1
m
g1
Algoritmo: Construccin y
factorizacin
de la matriz
Diagonal principal
dp = b2*ones(1, m-2);
Subdiagonal y superdiagonal
ds = -a2*ones(1, m-3);
Factorizacin LU
[c,l,u]=clu(ds,dp,ds);
% Trminos independientes
b = U(2:m-1, j-1) + U(2:m-1, j+1);
b(1) = b(1) + a2*g0(j);
b(m-2) = b(m-2) + a2* g1(j);
Algoritmo: iteraciones
incr = tol + 1;
iter = 0;
while incr > tol & iter < maxiter
Ejemplo
x = 0.125
x = 0.25
x = 0.375
x = 0.5
x = 0.625
x = 0.75
x = 0.875
y = 0.25
3.1177
6.2366
9.3574
12.4810
15.6074
18.7365
21.8677
y = 0. 5
6.2444
12.4897
18.7365
24.9854
31.2365
37.4897
43.7444
y = 0.75
9.3729
18.7460
28.1198
37.4944
46.8698
56.2460
65.6229
FIN