Professional Documents
Culture Documents
Hidrulica Computacional
(Aplicaciones con MATLAB)
Ecuaciones Diferenciales
Ordinarias
Problemas de Valor en la
Frontera
Jess Abel Meja Marcacuzco, Ph.D.
Lima - Per
d
dT x
A k x
hc PT x hc PT AS x
dx
dx
donde T(x) es la temperatura a una distancia x del extremo izquierdo, A es el
rea de seccin transversal constante de la varilla, k es la conductividad
trmica, P es el permetro de la varilla, hc es el coeficiente de transferencia
de calor por conveccin, T es la temperatura global del aire y S es la fuente
de calor. Las condiciones de frontera son: T(0) = TL y T(H) = TR, donde TL y
TR son temperaturas conocidas en los extremos izquierdo y derecho,
respectivamente.
T T
con
hc P / A
d
d x
k x
x S x
dx
dx
El primer trmino representa la conduccin de calor, el segundo es la
eliminacin de calor por conveccin hacia el aire y el miembro derecho es la
fuente de calor.
Si la ecuacin fuera un problema de valor inicial, se especificaran dos
condiciones en una sola frontera, y la resolucin numrica podra proceder
de ese extremo hacia el otro. A pesar de que podemos utilizar los mtodos
de resolucin de problemas de valor inicial para resolver problemas de valor
en la frontera, a menudo estos mtodos fracasan a causa de la inestabilidad
numrica. Adems, su aplicacin se dificulta mucho para la solucin de EDO
de orden superior.
' ' x q x S x , 0 x H
con las condiciones de frontera: ' 0 0 (Izquierda) y H R (Derecha),
donde q es un coeficiente constante. Si dividimos el dominio en N intervalos
equidistantes obtenemos una retcula cuyos intervalos son h = H/N. Si
aplicamos la aproximacin de diferencia central al primer trmino de la
ecuacin, deducimos la ecuacin de diferencia para el punto i:
i 1 2i i 1
qi Si
2
h
Donde:
w h2q
i 1 2 wi i 1 h 2 Si
i xi
S i S xi
y q son constantes
= 0
x = -h
x=0
x=h
x =2h
x = 3h
i=0
i=1
i=2
i =3
= R
x = Nh = H
i=4
i = N i = N+1
0 2 w1 2 h 2 S1
En la ecuacin, podemos igualar 0 = 2
porque la condicin de frontera izquierda
puede interpretarse como:
'
1
2 0
2h
1 w / 21 2 h 2 S1 / 2
Puesto que N 1 H R
en la frontera derecha, la
ecuacin para i = N se escribe como:
N 1 2 wN h 2 S N R
1 w / 21 2 h 2 S1 / 2
1 2 w2 3 h 2 S 2
2 2 w3 4 h 2 S3
...
N 1 2 w N h 2 S N R
En forma matricial:
1 w / 2 1
1
2w
1
2w
h
S1 / 2
1
h 2 S
2
2
3 h 2 S 3
2 w N h S N R
Ejemplo
(0) = 0, (0) = 1
Se da la derivada
de la solucin
(0) = 0, (0) = 1
ai xi 1 bi xi ci xi 1 di
Tx d
a1 0 y cn 0
b1
a
2
c1
b2
a3
c2
b3 c3
an 2
bn 2 cn 2
an 1 bn 1
an
x1 d1
x d
2 2
*
cn 1
bn xn d n
ai
ri
b i 1
bi bi ri ci
for i=2:n
r=a(i)/b(i-1);
b(i)=b(i)-r*c(i-1);
d(i)=d(i)-r*d(i-1);
end
d i d i ri d i 1
for i=2:n
d(i)=d(i)-r*d(i-1);
end
dn
xn
bn
d i ci xi 1
xi
bi
x(n)=d(n)/b(n);
for i=n-1:-1:1
x(i)=(d(i)-c(i)*x(i+1))/b(i);
end
Ejemplo
Resolver el siguiente
Sistema mediante el
algoritmo TDMA
1) Descomponer T:
for 2 to 5
ri = ai/bi-1
bi = bi-ri*ci-1
end
b1
a
2
0
0
0
c1
b2
a3
0
0
0
c2
b3
a4
0
0
0
c3
b4
a5
0 x1 d1
0 x2 d 2
0 * x3 d 3
c 4 x4 d 4
b5 x5 d 5
5 2
x1 9
4 21 1
x 49
* x3 13
1 1 3
55
1
2 x5 16
r2 4 / 5 0.8
b2 21 0.8 * 2 19.4
r3 1 / 19.4 0.0515
b3 1 0.0515*1 1.0515
r4 3 /(1.0515) 2.8531
b4 4 2.8531* (3) 4.5593
r5 1 / 4.5593 0.2193
b5 2 0.2193* (5) 3.0965
2
5
0.8 19.4
0.0515 1.0515
3
2
.
8531
4
.
5593
0.2193 3.0965
d 13
55
16
2
5
0.8 19.4
T
0.0515 1.0515
3
2.8531 4.5593
5
0.2193 3.0965
d 2 49 0.8 * 9 41.8
d 3 13 0.0515* 41.8 15.1546
d 4 55 2.8531* (15.1546) 11.7610
d 5 16 0.2193* (11.7610) 18.5792
41.8
d 15.1546
11.7610
18.5792
41.8
d 15.1546
11.7610
18.5792
0.8 19.4
T
0.0515 1.0515
3
2
.
8531
4
.
5593
0.2193 3.0965
x5 18.5792 / 3.0965 6
x4 (11.7610 (5) * 6) / 4.5593 4
x3 (15.1546 (3) * 4) / 1.0515 3
x2 (41.8 1* 3) / 19.4 2
x1 (9 2 * 2) / 5 1
1
2
x 3
4
6
% Matriz Tridiagonal
clear
n=5;
a(1)=0;a(2)=4;a(3)=1;a(4)=-3;a(5)=1;
b(1)=5;b(2)=21;b(3)=-1;b(4)=-4;b(5)=2;
c(1)=2;c(2)=1;c(3)=-3;c(4)=-5;c(5)=0;
d(1)=9;d(2)=49;d(3)=-13;d(4)=55;d(5)=16;
for i=2:n
r=a(i)/b(i-1);
b(i)=b(i)-r*c(i-1);
d(i)=d(i)-r*d(i-1);
b1 c1
a b
end
2
2
x(n)=d(n)/b(n);
0 a3
for i=n-1:-1:1
x(i)=(d(i)-c(i)*x(i+1))/b(i);
0 0
end
0 0
x'
>> triprueba1
x=
1.0000
2.0000
3.0000
4.0000
6.0000
0
c2
b3
a4
0
0
0
c3
b4
a5
0 x1 d1
0 x2 d 2
0 * x3 d 3
c 4 x4 d 4
b5 x5 d 5
% Matriz Tridiagonal
clear
n=9;
b(1)=2; c(1)=-1; d(1)=2;
for i=2:n
a(i)=-1; b(i)=2; c(i)=-1;
if i<n
d(i)=0;
elseif i==n
d(i)=1;
end
end
for i=2:n
r=a(i)/b(i-1);
b(i)=b(i)-r*c(i-1);
d(i)=d(i)-r*d(i-1);
end
x(n)=d(n)/b(n);
for i=n-1:-1:1
x(i)=(d(i)-c(i)*x(i+1))/b(i);
end
x=x'
>> triprueba2
x=
1.9000
1.8000
1.7000
1.6000
1.5000
1.4000
1.3000
1.2000
1.1000
2 1
1 2
1
2
2 0
1 2 1
3 0
0
1 2 1
4
1 2 1
5 0
0
1 2 1
6
1 2 1 7 0
1 2 1 8 0
1 2 9 1
Resultado:
1,9
1,8
17
,
1,6
1,5
1,4
1,3
1,2
1,1
% Matriz Tridiagonal
clear
n=9;
b(1)=2; c(1)=-1; d(1)=1;
for i=2:n
a(i)=-1; b(i)=2; c(i)=-1;
if i<n
d(i)=0;
elseif i==n
d(i)=0;
end
end
for i=2:n
r=a(i)/b(i-1);
b(i)=b(i)-r*c(i-1);
d(i)=d(i)-r*d(i-1);
end
x(n)=d(n)/b(n);
for i=n-1:-1:1
x(i)=(d(i)-c(i)*x(i+1))/b(i);
end
x=x'
>> triprueba3
x=
0.9000
0.8000
0.7000
0.6000
0.5000
0.4000
0.3000
0.2000
0.1000
2 1
1 1
1
2
2 0
1 2 1
3 0
0
1 2 1
4
1 2 1
5 0
0
1 2 1
6
1 2 1 7 0
1 2 1 8 0
1 2 9 0
Resultado:
0 ,9
0 ,8
0 ,7
0 ,6
0 ,5
0 ,4
0 ,3
0 ,2
0 ,1
Ejemplo
(A)
y0 0.1
y ' 10 y 10
Solucin
x=0
i=0
x=1
i=1
x=2
i =2
x=9
i=9
x = 10
i = 10
2 yi 1 2 yi yi 1 yi exp 0.2 xi
(B)
(C)
y 10 exp 2 x10
1/ 2
(D)
(E)
(F)
2 yi 1 5 yi 2 yi 1 exp 0.2 xi
2 y9 4.5 y10 0.5 exp 2 x10
para i 2 a 9
(G)
% Archivo ejemplo13_11
clear, clf, y0=0.1;
b(1)=5; c(1)=-2; s(1)=exp(-0.2)+y0;
for i=2:9
a(i)=-2; b(i)=5; c(i)=-2; s(i)=exp(-0.2*i);
end
a(10)=-2; b(10)=4.5; s(10)=0.5*exp(-2);
y=tridiagonal(a,b,c,s,10);
plot(0:10,[y0,y])
xlabel('x'); ylabel('y')
0.5
0.45
0.4
0.35
0.3
y
% Funcin tridiagonal
function f=tridiagonal(a,b,c,d,n)
for i=2:n
r=a(i)/b(i-1);
b(i)=b(i)-r*c(i-1);
d(i)=d(i)-r*d(i-1);
end
d(n)=d(n)/b(n);
for i=n-1:-1:1
d(i)=(d(i)-c(i)*d(i+1))/b(i);
end
f=d;
0.25
0.2
0.15
0.1
0.05
6
x
10