Está en la página 1de 13

SIDAD NACIIONAL

UNIIVERS L AGR
RARIA
A MOL
LA LINA

ES
SCUELAA DE POSGRA
P ADO
MAESTR
RÍA EN
N RECUURSOS HÍDRIC
H COS

Currso : Métodoos numééricos en


n Ingenieería de Recurso
os
Hídrico
os

Pro
ofesor : Ph. D. Ing.
I Euseebio Ingo
ol Blanco
o

Tra
abajo : Resolucción de problemmas acercca de eccuacionees
algebra
aicas lineeales

Alu
umno : Dayan Renán Saynes Pu
uma

L
Lima – Perú

2018

 
 
Métodos numéricos en IRH Dayan Renán Saynes Puma
 
ECUACIONES ALGEBRAICAS LINEALES

Problema 1
 
Se tiene la siguiente ecuación diferencial parcial que representa el balance de
masa en condiciones estacionarias para un producto químico (contaminante) en
un canal unidimensional (1D).

d 2c dc
D 2 U  k c  0
dx dx

Donde c es la concentración (mg/l), t es el tiempo, D es el coeficiente de


difusión, U es la velocidad del fluido en la dirección x , y k es la tasa de
decaimiento de primer orden del contaminante.
Discretizar esta ecuación diferencial parcial usando una diferencia finita
central, para obtener un sistema equivalente de ecuaciones algebraicas
simultáneas.
Dado U  1 , D  2 , k  0.2 , c(0)  80 mg / l y c(10)  10 mg / l ; resolver estas
ecuaciones:

a) desde x  0 a x  10 . Muestre la matriz ensamblada para los nodos.


b) desarrolle un script en Matlab para generar la solución usando la función
«Tridiag» dada en clase.
c) desarrolle un gráfico de concentración versus distancia. Asuma x  1.

Resolución

Discretización con diferencias finitas centradas

Las aproximaciones de la primera y segunda derivada en diferencias finitas


centradas son:

dc ci 1  ci 1 d 2 c ci 1  2ci  ci 1
 
dx 2x dx 2 x 2

Al reemplazar tales aproximaciones en la ecuación diferencial se obtiene:

 c  2ci  ci 1   ci 1  ci 1 
D  i 1   U  2x   k  ci  0
 x 2   

Reordenando los términos:

 
ci 1 2 D  U  x   ci 1 2 D  U  x   ci  4 D  2k  x 2  0

1
 
Métodos numéricos en IRH Dayan Renán Saynes Puma
 
Reemplazando los valores numéricos resulta:

 
c i 1 22  11  ci 1 22  11  ci  42  20.21  0
2

3ci 1  5ci 1  8.4ci  0

Dado que x  1 , los nodos son 11:

1 2 3 4 5 6 7 8 9 10 11

Evaluando en cada nodo interior:

i2  3c3  5c1  8.4c 2  0  3c3  8.4c 2  5c1  580  400


i3  3c4  5c2  8.4c3  0
i4  3c5  5c3  8.4c4  0
i5  3c6  5c4  8.4c5  0
i6  3c7  5c5  8.4c6  0
i7  3c8  5c6  8.4c7  0
i 8  3c9  5c7  8.4c8  0
i9  3c10  5c8  8.4c9  0
i  10  3c11  5c9  8.4c10  0  5c9  8.4c10  3c11  310  30

Se expresa el sistema de ecuaciones lineales en forma matricial Ac  B :

 8.4 3 0 0 0 0 0 0 0   c2   400
 5
  8.4 3 0 0 0 0 0 0   c3   0 
 0 5  8.4 3 0 0 0 0 0   c4   0 
    
 0 0 5  8.4 3 0 0 0 0   c5   0 
 0    
0 0 5  8.4 3 0 0 0   c6    0 
 
 0 0 0 0 5  8.4 3 0 0   c7   0 
   
 0 0 0 0 0 5  8.4 3 0   c8   0 
    
 0 0 0 0 0 0 5  8.4 3   c9   0 
 0  8.4 c10    30 
 0 0 0 0 0 0 5

2
 
Métodos numéricos en IRH Dayan Renán Saynes Puma
 
Resolviendo el sistema de ecuaciones simultáneas con el uso de la división
matricial a la izquierda (\) de Matlab, se obtiene:

>> A=[-8.4 3 0 0 0 0 0 0 0;5 -8.4 3 0 0 0 0 0 0;0 5 -8.4 3 0 0 0 0 0;0 0


5 -8.4 3 0 0 0 0;0 0 0 5 -8.4 3 0 0 0;0 0 0 0 5 -8.4 3 0 0;0 0 0 0 0 5 -
8.4 3 0;0 0 0 0 0 0 5 -8.4 3;0 0 0 0 0 0 0 5 -8.4];
>> B=[-400;0;0;0;0;0;0;0;-30];
>> x=A\B

x =
68.6613
58.9183
50.5357
43.3029
37.0219
31.4898
26.4684
21.6284
16.4454

Resolución del problema con algoritmo desarrollado en Matlab

Se desarrolló un script en Matlab para resolver el problema bajo diferentes


condiciones. Los datos de entrada son U , D , k , xi (posición x inicial), x f
(posición x final), x (incremento espacial x), ci (concentración del
contaminante en la posición x inicial) y c f (concentración del contaminante en
la posición x final). Se muestra a continuación el algoritmo:

clear;
D=input('Ingrese el coeficiente de difusión (D): ');
U=input('Ingrese la velocidad del fluido (U) en la dirección x: ');
k=input('Ingrese la tasa de decaimiento de primer orden del contaminante
(k): ');
xi=input('Ingrese la posición inicial (xi): ');
xf=input('Ingrese la posición final (xf): ');
deltax=input('Ingrese el incremento espacial x a considerar en el
cálculo: ');
ci=input('Ingrese la concentración del contaminante en la posición
inicial (ci): ');
cf=input('Ingrese la concentración del contaminante en la posición final
(cf): ');
n=(xf-xi)/deltax+1;
f0=2*D+U*deltax;
f1=-4*D-2*k*(deltax^2);
f2=2*D-U*deltax;
for i=1:n-2
for j=1:n-2
A(i,j)=f0*(i==j+1)+f1*(i==j)+f2*(i==j-1);
end
end
for k=2:n-3
B(1,1)=-5*ci;
B(n-2,1)=-3*cf;
B(k,1)=0;
end
for i=2:n-2
e(1)=0;

3
 
Métodos numéricos en IRH Dayan Renán Saynes Puma
 
e(i)=A(i,i-1);
end
for j=1:n-2
f(j)=A(j,j);
end
for k=1:n-3
g(k)=A(k,k+1);
g(n-2)=0;
end
for m=1:n
x(m)=(m-1)*deltax;
end
A
B
c=Tridiag(e,f,g,B');
C=[ci c cf]';
Resultados=[x' C]
plot(x,C','-b',x,C','sr');
xlabel('Posición (x)');
ylabel('Concentración del contaminante (c)');
title('Variación espacial de la concentración del contaminante');
grid on;

Como se aprecia, el algoritmo utiliza la función «Tridiag». Además, también


incluye el trazo de una gráfica que muestra la variación espacial de la
concentración del contaminante.

Al ejecutar el algoritmo para los datos del problema, se obtiene:

>> ConcentContamin
Ingrese el coeficiente de difusión (D): 2
Ingrese la velocidad del fluido (U) en la dirección x: 1
Ingrese la tasa de decaimiento de primer orden del contaminante (k): 0.2
Ingrese la posición inicial (xi): 0
Ingrese la posición final (xf): 10
Ingrese el incremento espacial x a considerar en el cálculo: 1
Ingrese la concentración del contaminante en la posición inicial (ci): 80
Ingrese la concentración del contaminante en la posición final (cf): 10

A =

-8.4000 3.0000 0 0 0 0 0 0 0
5.0000 -8.4000 3.0000 0 0 0 0 0 0
0 5.0000 -8.4000 3.0000 0 0 0 0 0
0 0 5.0000 -8.4000 3.0000 0 0 0 0
0 0 0 5.0000 -8.4000 3.0000 0 0 0
0 0 0 0 5.0000 -8.4000 3.0000 0 0
0 0 0 0 0 5.0000 -8.4000 3.0000 0
0 0 0 0 0 0 5.0000 -8.4000 3.0000
0 0 0 0 0 0 0 5.0000 -8.4000

B =
-400
0
0
0
0
0
0
0
-30

4
 
Méttodos numéricos en IRH
I D
Dayan Ren
nán Sayness Puma
 
Resu
ultados =

0 80.0000
1.0000 68.6613
2.0000 58.9183
3.0000 50.5357
4.0000 43.3029
5.0000 37.0219
6.0000 31.4898
7.0000 26.4684
8.0000 21.6284
9.0000 16.4454
1
10.0000 10.0000

Los resultadoos de la ejecución


e del algoriitmo son la matrizz de coefiicientes
amblada A , el vecto
ensa or B y un
na tabla dee la variacción de la concentrac
c ción del
conttaminantee con la possición.

áfico de la
Grá a concentrración dell contamin
nante verrsus la disstancia

En eel algoritm mo desarrrollado see ha inclu


uido una instrucción
i n para trazar la
gráffica de la variación
v e
espacial d contam
del minante. Pa atos del problema
ara los da
la grráfica resu
ultante es:

5
 
Métodos numéricos en IRH Dayan Renán Saynes Puma
 
Problema 2
 
Sea el siguiente sistema de ecuaciones:

2 x1  6 x 2  x3  38
 3x1  x 2  7 x3  34
 8 x1  x 2  2 x3  28

a) resolver el sistema usando la eliminación de Gauss con pivoteo parcial.


Como parte de los cálculos use los elementos de la diagonal para obtener
el determinante. Muestre los pasos de sus cálculos.
b) sustituya sus resultados dentro de la ecuación original para verificar sus
respuestas.

Resolución

Resolución del sistema de ecuaciones con pivoteo parcial

El sistema de ecuaciones se expresa de forma compacta como  Ax  B , donde:

 2  6  1  38  x1 
A   3  1 7  B   34 x   x 2 
 8 1  2  28 x 
   3

Se trabaja con la matriz aumentada:

 2  6  1  38 2  6  1  38  2  6 1  38
 3  1 7  34  F2 3 / 2  F1 
 0  10 5.5  91     91
  0  10 5.5
F3 8 / 2 F1 F3  23 / 10 F2
 8 1  2  28   0  23  6  180    0 0  18.65 29.3

Efectuando la sustitución hacia atrás:

29.3
x3   1.571046
 18.65
 91  5.5 1.571046 
x2   8.235925
 10
 38   1.571046  68.235925
x1   4.922252
2

Por lo que
 x1   4.922252 
x   x2    8.235925 
 x   1.571046
 3  

6
 
Métodos numéricos en IRH Dayan Renán Saynes Puma
 
El determinante de A es:

detA  2  10  18.65


det A  373

Verificación de los resultados

Al reemplazar los valores obtenidos de x en las ecuaciones originales, resulta:

2 x1  6 x2  x3  24.922252  68.235925   1.571046  38


 3x1  x2  7 x3  34.922252  8.235925  7 1.571046  34.000003  34
 8 x1  x2  2 x3  84.922252  8.235925  2 1.571046  27.999999  28

Se comprueba que los valores obtenidos son correctos.

Adicionalmente se verifica con las herramientas de Matlab y el resultado es:

>> A=[2 -6 -1;-3 -1 7;-8 1 -2]

A =

2 -6 -1
-3 -1 7
-8 1 -2

>> B=[-38;-34;-28]

B =

-38
-34
-28

>> x=A\B

x =

4.922252010723860
8.235924932975872
-1.571045576407506

Con lo cual se ratifica la respuesta.

7
 
Métodos numéricos en IRH Dayan Renán Saynes Puma
 
Problema 3
 
Resuelva el siguiente sistema de ecuaciones usando la factorización LU con
pivoteo parcial:
2 x1  6 x 2  x3  38
 3x1  x 2  6 x3  34
 8 x1  x 2  2 x3  40

Muestre todos los pasos de sus cálculos y compruebe sus respuestas usando
Matlab.

Resolución

El sistema de ecuaciones se expresa de forma compacta como  Ax  B , donde:

 2  6  1  38  x1 
A   3  1 6  B   34 x   x 2 
 8 1  2  40 x 
   3

Lo que se busca es transformar  A en una matriz triangular superior (con ceros


por debajo de la diagonal principal), y producto de ese proceso obtener los
factores L  y U  . En primer lugar es necesario anular los elementos de la
primera columna por debajo de la primera fila (pivote). Para la segunda fila la
operación a realizar con cada elemento es F2   3 / 2 F1 , mientras que en la
tercera fila es F3   8 / 2F1 . El resultado de las operaciones en cada posición y
su final reemplazo genera la siguiente matriz:

2  6  1
0  10 4.5
 
0  23  6

Ahora debe anularse el elemento de la tercera fila y segunda columna, la


operación a realizar es F3  23 / 10F2 , y la matriz resulta:

2  6 1 
0  10 4.5 

0 0  16.35

Con estas operaciones ya se dispone de las matrices L y U, que cumplen


LU   A . Así:

8
 
Métodos numéricos en IRH Dayan Renán Saynes Puma
 
 1 0 0 2  6 1 
L   3 / 2 1 0
 U   0  10 4.5 

 8 / 2 23 / 10 1 0 0  16.35

El sistema de ecuaciones  Ax  B es equivalente a L U x  B . Luego, si


U x  D, entonces L D  B.
El vector D no se conoce, por lo que debe calcularse bajo sustitución hacia
adelante de la expresión L D  B . Así:

 1 0 0  d 1    38
 1.5 1 0 d    34
  2   
  4 2.3 1 d 3   40
  

Despejando:

d 1  38
d 2  34  1.5 38   91
d 3  40  4 38  2.3 91  17.3

Conocido D, ya se pueden obtener los valores del vector x a partir de la
expresión U x  D , bajo sustitución hacia atrás. Así:

2  6  1   x1   38
0  10    
 4.5   x 2     91
0 0  16.35  x 3  17.3 

Entonces:

17.3
x3   1.058104
 16.35
 91  4.5 1.058104 
x2   8.623853
 10
38   1.058104  68.623853
x1   6.342507
2

Por lo que

 x1   6.342507 
x   x 2    8.623853 
 x   1.058104
 3  

9
 
Métodos numéricos en IRH Dayan Renán Saynes Puma
 
Al utilizar las herramientas de Matlab el resultado es:

>> A=[2 -6 -1;-3 -1 6;-8 1 -2]

A =

2 -6 -1
-3 -1 6
-8 1 -2

>> B=[-38;-34;-40]

B =

-38
-34
-40

>> x=A\B

x =

6.342507645259939
8.623853211009173
-1.058103975535168

Con lo cual se comprueba la respuesta.

Problema 4
 
Resuelva el siguiente sistema de ecuaciones usando la factorización LU con
pivoteo:

3x1  2 x 2  x 3  10
2 x1  6 x 2  4 x3  44
 8 x1  2 x 2  5 x3  26

Muestre los pasos de sus cálculos y compruebe sus respuestas usando Matlab.

Resolución

El sistema de ecuaciones se expresa de forma compacta como  Ax  B , donde:

 3  2  1   10   x1 
A   2 6  4 B   44  x   x 2 
 8  2 5   26 x 
   3

10
 
Métodos numéricos en IRH Dayan Renán Saynes Puma
 
Lo que se busca es transformar  A en una matriz triangular superior (con ceros
por debajo de la diagonal principal), y producto de ese proceso obtener los
factores L  y U  . Así, el proceso es:

 3  2  1 3 2 1  3  2 1 
2  F2  2 / 3 F1 
6  4   0 22 / 3  10 / 3   
 0 22 / 3  10 / 3
F3  8 / 3 F1 F3  1F2
 8  2 5     0  22 / 3 7 / 3    0 0  1 

Con estas operaciones ya se dispone de las matrices L y U, que cumplen


LU   A . Así:

 1 0 0 3  2 1 
L   2 / 3 1 0
 U   0 22 / 3  10 / 3

 8 / 3  1 1 0 0  1 

Prosigue ahora la sustitución hacia adelante en la expresión L D  B . Así:

 1 0 0  d1    10 
 2 / 3 1 0 d    44 
  2   
 8 / 3  1 1 d 3   26

Despejando:

d1  10
d 2  44  2 / 3 10   152 / 3
d 3  26  152 / 3  8 / 3 10  2

Se procede ahora con la sustitución hacia atrás con la expresión U x  D . Así:

3  2  1   x1    10 
0 22 / 3  10 / 3  x   152 / 3
  2   
0 0  1   x3    2 
  

Entonces:

2
x3  2
1
152 / 3  10 / 32
x2   86 / 11  7.818182
22 / 3
 10  2  286 / 11
x1   28 / 11  2.545455
3

11
 
Métodos numéricos en IRH Dayan Renán Saynes Puma
 
Por lo que

 x1  2.545455
x   x2   7.818182
 x  2.000000
 3  

Al utilizar las herramientas de Matlab el resultado es:

>> A=[3 -2 -1;2 6 -4;-8 -2 5]

A =

3 -2 -1
2 6 -4
-8 -2 5

>> B=[-10;44;-26]

B =

-10
44
-26

>> x=A\B

x =

2.545454545454545
7.818181818181818
2.000000000000000

Con lo cual se comprueba que la respuesta es correcta.

12
 

También podría gustarte