0% encontró este documento útil (0 votos)
97 vistas20 páginas

Matrices y Arreglos

El documento describe las matrices y arreglos en MATLAB, incluyendo cómo escribir y acceder a elementos de matrices, operaciones comunes como suma y multiplicación, y funciones para crear matrices especiales como identidad, ceros y unos.
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
97 vistas20 páginas

Matrices y Arreglos

El documento describe las matrices y arreglos en MATLAB, incluyendo cómo escribir y acceder a elementos de matrices, operaciones comunes como suma y multiplicación, y funciones para crear matrices especiales como identidad, ceros y unos.
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 20

MATRICES Y ARREGLOS

La estructura bsica para el manejo de datos en MATLAB

es la matriz: un
ordenamiento arreglado bidimensionalmente en forma rectangular capaz de
almacenar mltiples elementos de un conjunto de datos en un formato fcilmente
accesible. Estos datos pueden ser nmeros, caracteres, valores lgicos de Verdadero
o Falso y hasta algunas estructuras especficas de MATLAB.

ESCRITURA DE UNA MATRIZ
Un conjunto de datos arreglados como una matriz con n filas y m columnas se edita
escribiendo los elementos que la constituyen encerrados entre corchetes [ ]. Los
elementos de una misma fila se escriben separados por un espacio entre uno y otro y
se finaliza con un signo de punto y coma, entendido como signo de separacin de
una fila con la siguiente dentro del arreglo.
Entonces la sintaxis para la escritura de una matriz A en Matlab es:

A = [A
1
; A
2
; A
3
;]

Siendo A
1
, A
2
, A
3
series en lnea horizontal (una fila) con un nmero de
elementos que define el nmero de columnas de la matriz. El arreglo matricial se
utiliza para almacenar datos en una sola lnea horizontal (matriz fila, dimensiones
1 x m) o en una sola fila vertical (vector, dimensiones n x 1) y hasta para almacenar
un solo nmero.
La sintaxis para la escritura en Matlab de una matriz fila, un vector y un solo
nmero es:

Matriz fila: A = [a
1
a
2
a
3
]
Vector: A = [a
1;
a
2;
a
3;
]
Un solo nmero: A = [a
1
]
Indexacin de los elementos de una matriz
Por indexacin se entiende la localizacin o referencia de un elemento en particular
en una matriz. Lo ms simple es especificar el smbolo de la letra con la cual se
simboliza la matriz y a su derecha y encerrados entre parntesis especificar el
nmero de la fila seguido del nmero de la columna separados por una coma que
definen la localizacin del elemento dentro de la matriz. Al escribir una matriz de
acuerdo a la sintaxis de Matlab, automticamente lo elementos son indexados por el
compilador de tal manera que una vez en memoria cualquiera de los elementos se
puede referenciar. La sintaxis para la indexacin de un elemento dentro de una
matriz A es A(i, j) siendo i el nmero de la fila y j el nmero de la columna.

El operador dos puntos (:)
A menudo, las secuencias numricas suelen ser muy tiles en la construccin e
indexacin de matrices y arreglos. Matlab utiliza el operador (:) para la creacin de
secuencias numricas de uno en uno o secuencias numricas con un valor fijo de
aumento o disminucin. La sintaxis para escribir en Matlab una matriz que es una
secuencia numrica entre un primer valor y un ltimo valor es:

A = [Primer Valor: ltimo Valor]

Se genera una matriz (vector) de dimensiones 1 x n cuyos elementos constituyen una
serie numrica de uno en uno desde el primer valor hasta el ltimo valor. Al escribir
en Matlab la secuencia numrica A = [15:20], se graba en memoria o se despliega
en el espacio de trabajo de Matlab la matriz fila:

A = [15 16 17 18 19 20]

Cuando el incremento es diferente de uno, la sintaxis para escribir en Matlab una
matriz que es una secuencia numrica entre un primer valor y un ltimo valor es:

A = [Primer Valor: Incremento : ltimo Valor]

Al escribir en Matlab la secuencia numrica A = [20:5:50], se graba en memoria o
se despliega en el espacio de trabajo de Matlab la matriz fila:

A = [20 25 30 35 40 45]

Especificacin de todos los elementos de una fila o de una columna
El signo dos puntos por si solo se refiere a todos los elementos en una fila o una
columna de una matriz. La escritura A(:, 2) significa todos los elementos de la
segunda columna de una matriz A. La escritura A(1, :) significa todos los elementos
de la primera fila de una matriz A.

Si se tiene una matriz A = [1:5; 6:10; 11:15; 16:20]
Entonces, A(:, 2) = [2 7 12 17] y
A(1, :) = [1 2 3 4 5]

OPERACIONES CON MATRICES
Algunas operaciones aritmticas importantes entre matrices son: la adicin, la
sustraccin, la multiplicacin entre dos matrices, la transpuesta y la inversa de una
matriz, entre otras.

Suma y resta de matrices
La suma y la resta se definen, como en todo arreglo, elemento por elemento para dos
matrices de las mismas dimensiones. Siendo A y B dos matrices, la suma o la resta
de ellas es una matriz de la misma dimensin de A o B y cuyos elementos son las
sumas o las restas de los correspondientes elementos. Los operados utilizados para
indicar la suma o la diferencia entre matrices son los convenciones +/- de las
matemticas. En forma simblica, la matriz suma S y la matriz diferencia D entre las
matrices A y B se puede escribir como:

S = A + B
D = A - B

Multiplicacin de matrices
La multiplicacin entre dos matrices A y B requiere que, si la matriz A es de
dimensiones n x p, la matriz B sea de dimensiones p x m, es decir que el nmero de
columnas en la matriz A sea igual al nmero de filas en la matriz B. La matriz C
resultado del producto entre A y B es de dimensiones n x m. El smbolo utilizado
para la multiplicacin entre dos matrices es el operador * asterisco. Entonces puede
escribir que:

C = A*B


Siendo que C(i, j) = A(i, :)*B(:, j)


Multiplicacin de matrices y vectores
De lo anterior se desprende que al multiplicar una matriz de dimensiones n x p por
un vector de dimensiones p x 1, el resultado es un vector de dimensiones n x 1. En
forma inversa, si se multiplica un vector de dimensiones n x 1 por una matriz fila de
dimensiones 1 x m, el resultado es una matriz de dimensiones n x m. Lo anterior se
puede escribir en forma simblica como

Transpuesta de una matriz
Para una matriz real A, la operacin transpuesta intercambia las posiciones entre los
elementos A(i, j) y A(j, i). Para desarrollar la transpuesta de una matriz real A,
MATLAB utiliza el operador apostrofe ('). Si en Matlab se especifica la siguiente
matriz A = [8 1 6; 3 5 7; 4 9 2], entonces al digitar A' se despliega la transpuesta de
A, es decir A' = [8 3 4; 1 5 9; 6 7 2]:


[



]

[



]



FUNCIONES Y MATRICES ESPECIALES
En el lgebra lineal se manejan algunas matrices especiales como la matriz
identidad, la matriz de ceros, la matriz de unos y la inversa de una matriz, entre
otras. En Matlab se conocen funciones que facilitan la escritura de este tipo de
matrices entre las cuales se pueden mencionar las funciones eye, zeros, ones e inv,
entre otras.

Matriz Identidad
Generalmente, la notacin matemtica aceptada utiliza la letra mayscula I como
smbolo de la matriz identidad. En una matriz identidad de cualesquiera
dimensiones, los elementos de la diagonal principal son todos unos y todos los
dems son ceros. Estas matrices tienen la propiedad que AI = A IA = A cuando las
dimensiones son compatibles. La sintaxis para expresar en Matlab una matriz
identidad con n filas y m columnas es:

I = eye(n, m)

Si la matriz identidad es rectangular de dimensiones n x n se puede expresar por la
sintaxis eye(n). Es posible encontrar planteamientos matemticos en algunas reas
de las ingenieras con las denominadas matrices diagonales similares pero diferentes
a las matrices identidad.

Matriz Diagonal
Una matriz diagonal es una matriz cuadrada en el que los nicos elementos
diferentes de cero son los de la diagonal principal. Para la construccin de una
matriz diagonal en Matlab se debe definir una matriz fila con el nmero de
elementos que constituyen la matriz diagonal cuadrada con dimensiones iguales al
nmero de elementos constituyentes de la matriz fila. Entonces si se define una
matriz fila A con m elementos A(1, m), la matriz diagonal se construye con la
siguiente sintaxis de Matlab:

diag(A)

Matriz Tridiagonal
Se puede construir una matriz con tres diagonales, la principal y las inmediatas
superior e inferior. Esto constituye lo que se denomina una matriz tridiagonal. Para
esto en la sintaxis anterior se debe agregar un segundo argumento despus de la
especificacin de la matriz A que ser 1 si es la inmediata superior, 2 la que sigue
inmediatamente superior y as sucesivamente; pero si las diagonales son inferiores a
la principal entonces se especifica con el nmero 1, 2 y as sucesivamente pero
negativo. Se entiende que si la matriz A cuyos elementos constituyen la diagonal
principal contiene m elementos, entonces la matriz inmediatamente superior debe
contener m 1 elementos y as sucesivamente.

T = diag(A(1,m)) + diag(B(1, m 1), 1) + diag(C(1, m 1), -1)

Se entiende que la matriz A es la diagonal principal, la matriz B es la diagonal
inmediatamente superior y la matriz C es la diagonal inmediatamente inferior.

Matriz de ceros
En una matriz de ceros de cualesquiera dimensiones, todos los elementos son ceros.
La sintaxis para expresar en Matlab una matriz de ceros con n filas y m columnas es:

Z = zeros(n, m)
Si la matriz de ceros es rectangular de dimensiones n x n se puede expresar por la
sintaxis zeros(n).

Matriz de unos
En una matriz de unos de cualesquiera dimensiones, todos los elementos son unos.
La sintaxis para expresar en Matlab una matriz de unos con n filas y m columnas es:
N = ones(n, m)

Si la matriz de unos es rectangular de dimensiones n x n se puede expresar por la
sintaxis ones(n).

Inversa de una matriz: A
-1

La inversa de una matriz A es la matriz que al multiplicarla por la matriz A el
producto es igual a 1, es decir que A
-1
A = 1. La sintaxis para escribir en Matlab la
inversa de la matriz A es:

Y = inv(A)

Matriz vaca: [ ]
La matriz vaca es la que no contiene elemento alguno y se simboliza por el par de
corchetes separados con un espacio solamente. Es importante, porque se utiliza en
obligaciones matemticas donde se tiene que expresar que un concepto seriado de
elementos no existe.

DIMENSIONES DE UNA MATRIZ FUNCIONES EN MATLAB
En cdigos de programacin, suele necesitarse la informacin sobre las dimensiones
de una matriz como por ejemplo el nmero de filas y de columnas en una matriz
dimensional, el nmero de elementos en la dimensin de mas larga, el nmero de
dimensiones de una matriz o el nmero total de elementos de una matriz. Matlab
facilita la bsqueda de dicha informacin mediante funciones especficas como size,
length, ndims y numel. La sintaxis en Matlab para el uso de estas funciones
aplicada a una matriz A bidimensional es la digitacin de la palabra clave seguido
del smbolo de la matriz encerrado entre parntesis. Entonces,

X = size(A) = [n m]
N = ndims(A) = 2
M = numel(A) = (n)(m)
L = length(A)

El resultado de la funcin size es una matriz fila con dos elementos, de tal manera
que X(1) es igual a n y X(2) es igual a m. La funcin length es muy til cuando se
trata de una matriz fila o de un vector donde se entiende que la dimensin ms
grande en contenido de elementos es la que interesa.

L = length(A)

SISTEMAS DE ECUACIONES LINEALES
Un sistema de n ecuaciones lineales con n incgnitas se puede escribir en forma
matricial como:

AX = B

Siendo A una matriz cuadrada de dimensiones n x n, X un vector con n elementos
que corresponden a las n incgnitas y B un vector con n elementos que corresponden
a los miembros derechos independientes de las incgnitas de cada una de las n
ecuaciones. La solucin de un sistema de ecuaciones lineales se puede determinar
utilizando diferentes recursos disponibles en Matlab como la escritura matricial del
lgebra lineal o mediante funciones especficas como fsolve.
Algebra Lineal. El recurso del algebra lineal aplicado con Matlab consiste en
definir la matriz A y el vector B y proceder por uno de los siguientes
procedimientos:
Divisin matricial. La divisin (con barra inclinada hacia atrs) de la matriz A
entre el vector B. Es decir,
X = A\B

La divisin matricial anterior, al realizarla con la sintaxis de Matlab, se escribe
exactamente en la misma forma
Multiplicacin matricial. La multiplicacin de la inversa de la matriz A por el
vector B. Es decir,

X = A
-1
B


La multiplicacin matricial anterior al realizarla con la sintaxis de Matlab requiere
de la siguiente escritura


X = inv(A)*B

PROGRAMACIN - MATLAB
En cada seccin de este curso se incluye la explicacin de algunos conceptos
utilizados en los cdigos de programacin elaborados de acuerdo a la sintaxis de
Matlab. A continuacin se explica la entrada y salida de datos y el lazo de control
ifend.
Entrada de datos de informacin
Para la ejecucin de las rdenes de ejecucin dentro de un programa codificado en
cualquier lenguaje se requiere, usualmente, de la entrada de datos iniciales. En
Matlab existen varias formas para hacer la entrada de datos iniciales y una muy
usual es la que utiliza la palabra clave input para que el usuario antes de ejecutar el
programa especifique el valor de los datos requeridos para su acertado y completo
desarrollo. La sintaxis de este comando es:

N = input(Leyenda )

La leyenda colocada dentro del parntesis es una redaccin escrita por el
programador para orientacin del usuario y debe escribirse dentro de un parntesis y
encerrada entre comillas simples. Debe ser la suficientemente ilustrativa y una vez el
usuario digite la opcin seleccionada, sta queda asignada en memoria a la letra N.
Un ejemplo es el siguiente:
N = input('Mtodo de solucin:\n\n 1. Divisin Matricial \n 2. Producto Matricial\n\n Digite el
Nmero de su Seleccin = \');

Se nota que Matlab colorea la leyenda con el color observado. Las letras n escritas
despus de barras inclinadas (\n) son colocadas para trasladar el cursor al inicio del
rengln abajo siguiente de tal manera que dos seguidas (\n\n) trasladan el cursor al
inicio de dos renglones siguientes ms abajo. Al ejecutarse esta orden del programa
se despliega en el espacio de trabajo de Matlab lo siguiente:
Mtodo de solucin:
1. Divisin Matricial
2. Producto Matricial
Digite el Nmero de su Seleccin =

Lazos de Control de Flujo
Una de las grandes necesidades en la codificacin de un programa en cualquier
lenguaje de computacin es la de los lazos de control de flujo de informacin como:
Ifelseif.else.end, for.end, swichcaseend, etc. A continuacin se explica
el lazo de control de flujo condicional Ifelseend.

Lazo de Control Condicional: ifelseifelseend
La palabra clave if evala una expresin lgica y ejecuta un grupo de rdenes
cuando la expresin es verdadera. Las palabras claves y opcionales elseif y elsese
incluyen para la ejecucin de grupos de rdenes alternativas. La palabra clave end
debe colocarse despus del ltimo grupo de rdenes como finalizacin del lazo de
control condicional. Los grupos de rdenes son delimitadas por las cuatro palabras
claves y no se requieren de corchetes ni parntesis.
Si se tiene un sistema de ecuaciones lineales se puede condicionar el mtodo de
solucin mediante una seleccin lgica de un nmero (por ejemplo, 1 o 2) y utilizar
el lazo de control if de tal manera que si se selecciona la opcin nmero 1 se
resuelva el sistema por el mtodo de la divisin matricial, si se selecciona la nmero
2 se resuelva el sistema por el mtodo de la multiplicacin matricial pero si se
selecciona cualquier otro nmero no se ejecute ninguna orden, con lo cual se da por
terminado el ciclo. Entonces, la estructura del lazo de control ifend es:

if i == 1
X = A\B
elseif i == 2
X = (inv(A))*B
else
end

Salida de datos (Resultados)
Para el despliegue de los resultados obtenidos con el programa ejecutado se tienen,
en cualquier lenguaje de programacin, los formatos disponibles para ellos segn la
naturaleza de los datos. En Matlab existen varias formas para desplegar la salida de
los resultados de la ejecucin de un programa en un archivo de texto o en el espacio
de trabajo y una muy usual es la que utiliza la palabra clave fprintf. La sintaxis de
este comando es:

fprintf(archivo, texto, formato, A)

El argumento archivo es el nombre del archivo donde el usuario desea desplegar (la
omisin transfiere la escritura al espacio de trabajo de Matlab), el argumento texto es
una leyenda escrita por el usuario, el argumento formato es la nomenclatura para
expresar el formato numrico de los datos a reportar y el argumento (A) es el dato o
conjunto de datos. En el programa del ejercicio 1 propuesto a continuacin se
reportan los resultados con la siguiente orden.
fprintf('La solucin del sistema de ecuaciones es: X1 = % 4.2f, X2 = % 4.2f, X3 = % 4.2f\n', X)
El formato % 4.2f se entiende de la siguiente manera: El signo de porcentaje es el
indicador de formato numrico, la letra f colocada al final del formato define un
nmero de punto fijo, el nmero 4 es el ancho del campo de la escritura del dato y el
nmero 2 colocado despus de un punto es el nmero de cifras decimales del dato. A
la izquierda de cada uno de estos formatos se escriben textos que aparecern
intercalados entre los datos incluidos en el conjunto X y que se escribe como un
argumento separado del anterior por un signo coma. Para mayores detalles del uso
de este comando se recomienda la revisin de la ayuda de Matlab.

EJERCICIOS RESUELTOS
1. Elaborar un cdigo en el editor de Matlab para resolver el siguiente sistema de
ecuaciones lineales mediante los procedimientos matriciales explicados



El sistema de ecuaciones escrito compactadamente en forma matricial es:

(



)(

) (

)

Se deduce de la escritura anterior que la matriz A y el vector B son,
respectivamente:

(



) (

)

La solucin del sistema de ecuaciones obtenida con cualquiera de los
procedimientos explicados y ejecutados con el programa mostrado a continuacin
es:


Cdigo Matlab
% Programa No. 1
% Solucin de un sistema de ecuaciones lineales
% Mtodos del lgebra lineal

clc, clear all
disp(' SOLUCIN DE UN SISTEMA DE ECUACIONES LINEALES')
disp('============================================')
disp(' ')

% Entrada de datos - Seleccin del Mtodo de Solucin

i = input('Mtodo de solucin:\n\n 1. Divisin Matricial \n 2. Producto Matricial\n\n Digite el
Nmero de su Seleccin = \');

A = [4 -9 2; 2 -4 6; 1 -1 3] % Matriz A
B = [5; 3; 4] % Vector B

% Ncleo del cdigo de ejecucin de rdenes

if i == 1
X = A\B;
elseif i == 2
X = (inv(A))*B;
else
end
disp(' ')

% Despliegue de Resultados
fprintf('La solucin del sistema de ecuaciones es: X1 = % 4.2f, X2 = % 4.2f, X3 = % 4.2f\n',
X)

2. Elaborar un cdigo en el editor de Matlab para resolver el siguiente sistema de
ecuaciones lineales mediante los procedimientos matriciales explicados



El sistema de ecuaciones escrito compactadamente en forma matricial es:

(


Se deduce de la escritura anterior que la matriz A y el vector B son,
respectivamente:


(



La solucin del sistema de ecuaciones obtenida con cualquiera de los
procedimientos explicados y ejecutados con el programa mostrado a continuacin
es:



Cdigo Matlab
% Programa No. 2
% Solucin de un sistema de ecuaciones lineales
% Mtodos del lgebra lineal

clc, clear all

% Solucin matricial
% Ax = B; % x = inv(A)*B

disp(' SOLUCIN DE UN SISTEMA DE ECUACIONES LINEALES')
disp('============================================')
disp(' ')
disp('Ecuacin 1: x1 - x3 + x9 = 0')
disp('Ecuacin 2: x1 = 1')
disp('Ecuacin 3: x2 - x4 + x10 = 0')
disp('Ecuacin 4: x2 = 0')
disp('Ecuacin 5: 0.6 x3 - x5 = 0')
disp('Ecuacin 6: 0.4 x3 + x4 - x6 = 0')
disp('Ecuacin 7: x5 - x9= 0')
disp('Ecuacin 8: x6 - x8 = 0')
disp('Ecuacin 9: x10 = 0')
disp('Ecuacin 10: x7 = 0')
disp(' ')

% Entrada de datos - Seleccin del Mtodo de Solucin

i = input('Mtodo de solucin:\n\n 1. Divisin Matricial \n 2. Producto Matricial\n\n Digite el
Nmero de su Seleccin (1 2) = \');

% Inicializacin de matrices de zeros

A = zeros(10,10);
B = zeros(10,1);

% Elementos de la matriz A diferentes de cero

A(1,1) = 1; A(1,3) = -1; A(1,9) = 1;
A(2,1) = 1; A(3,2) = 1; A(3,4) =-1;
A(3,10) = 1; A(4,2) = 1;
A(5,3) = 0.6; A(5,5) = -1;
A(6,3) = 0.4; A(6,4) = 1; A(6,6) = -1;
A(7,5) = -1; A(7,9) = 1;
A(8,6) = -1; A(8,8) = 1;
A(9,10) = 1; A(10,7) = 1;

% Elemento del vector B diferente de cero

B(2,1) = 1;

% Ncleo del cdigo de ejecucin de rdenes

if i == 1
x = A\B;
elseif i == 2
x = (inv(A))*B;
else
end
disp(' ')
N = [1:10]';

% Concatenacin de matrices

R = [N x];

% Despliegue de Resultados

disp(' RESULTADOS')
disp('============================')
disp(' ')
disp(' INCGNITA VALOR')
disp(' ')
fprintf('%20.0f % 20.1f\n', R')


3. En una columna de absorcin de 5 etapas, se considera que el flujo de lquido de
alimento es L = 4/3 kg mol de aceite inerte/min, el flujo de vapor es V = 5/3 kg
mol de aire/min, la composicin del lquido de alimento x
f
= 0.0 kg mol de
benceno/kg mol de aceite inerte, y la composicin del vapor de alimento y
6
= 0.1
kg mol de benceno/kg mol de aire. En cada etapa se asume que la retencin de
lquido es M = 20/3 kg mol. La relacin en cada etapa entre las composiciones
de vapor y lquido en equilibrio es lineal y el valor de la constante de
proporcionalidad es k = 0.5, es decir que
i i
kx y =
. Los balances de materia en
estado estacionario constituyen el siguiente sistema de ecuaciones lineales y se
propone la solucin de dicho sistema.

6 5 4
5 4 3
4 3 2
3 2 1
2 1

0
0
0
y
M
V
x
M
Vk L
x
M
L
x
M
Vk
x
M
Vk L
x
M
L
x
M
Vk
x
M
Vk L
x
M
L
x
M
Vk
x
M
Vk L
x
M
L
x
M
L
x
M
Vk
x
M
Vk L
f
= |
.
|

\
| +

= + |
.
|

\
| +

= + |
.
|

\
| +

= + |
.
|

\
| +

= + |
.
|

\
| +



Las incgnitas son
i
x (i = 1 a 5), y se conocen los valores de
f
x (composicin
del lquido de alimento) y
6
y (composicin del vapor de alimento). Se asume
que las velocidades de flujo de lquido y vapor son constantes.
Estas ecuaciones pueden ser escritas compactadas en una escritura matricial
(estructura tri-diagonal), es decir:

|
|
|
|
|
|
|
|
.
|

\
|

=
|
|
|
|
|
|
.
|

\
|
|
|
|
|
|
|
|
|
|
|
|
.
|

\
|
+

6
5
4
3
2
1
0
0
0
) (
0 0 0
) (
0 0
0
) (
0
0 0
) (
0 0 0
) (
y
M
V
x
M
L
x
x
x
x
x
M
Vk L
M
L
M
Vk
M
Vk L
M
L
M
Vk
M
Vk L
M
L
M
Vk
M
Vk L
M
L
M
Vk
M
Vk L
f


Al evaluar los elementos que componen las matrices A y B de la ecuacin resultan
con los siguientes arreglos:


|
|
|
|
|
|
.
|

\
|

=
325 . 0 2 . 0 0 0 0
125 . 0 325 . 0 2 . 0 0 0
0 125 . 0 325 . 0 2 . 0 0
0 0 125 . 0 325 . 0 2 . 0
0 0 0 125 . 0 325 . 0
A

|
|
|
|
|
|
.
|

\
|

=
025 . 0
0
0
0
0
B

Los valores de x para cada una de las cinco etapas en el estado estacionario se
pueden hallar resolviendo la ecuacin matricial y en este caso es:

|
|
|
|
|
|
.
|

\
|

|
|
|
|
|
|
.
|

\
|

025 . 0
0
0
0
0
325 . 0 2 . 0 0 0 0
125 . 0 325 . 0 2 . 0 0 0
0 125 . 0 325 . 0 2 . 0 0
0 0 125 . 0 325 . 0 2 . 0
0 0 0 125 . 0 325 . 0
1
s
x


Resolviendo el producto matricial anterior resulta el siguiente vector cuyos
elementos son los valores de la composicin del lquido que sale de cada una de las
cinco etapas de equilibrio. | | 1202 . 0 0704 . 0 0392 . 0 0198 . 0 0076 . 0 =
s
x
La composicin del lquido producto (que sale de la etapa 5) es x
5
= 0.1202 La
composicin del vapor de producto (que sale de la etapa 1) es obtenida de una
relacin de equilibrio linear y
1
= 0.5(x1) = 0.5 (0.0076) = 0.0038 lb mol de
benceno/lb mol de aire. El vector cuyos elementos son las composiciones del vapor
que sale de cada etapa de equilibrio es: | | 0601 . 0 0352 . 0 0196 . 0 0099 . 0 0038 . 0 =
s
y

Cdigo Matlab
% Programa No. 3
% Solucin de un sistema de ecuaciones lineales
% Mtodos del lgebra lineal

clc, clear all

disp(' SOLUCIN DE UN SISTEMA DE ECUACIONES LINEALES')
disp('============================================')
disp(' ')

% Entrada de datos

L = 4/3; % Flujo fase lquida
V = 5/3; % Flujo fase vapor
M = 20/3; % Masa acumulada en cada etapa
xf = 0; % Fraccin mol del lquido de entrada
y6 = 0.1; % Fraccin mol del gas de entrada
k = 0.5; % Constante de equilibrio de fases
% Fijacin de las diagonales de la matriz tridiagonal

P = -(1/M)*(L + V*k)*ones(1,5); % Diagonal principal
S = (V*k/M)*ones(1,4); % Diagonal superior
I = (L/M)*ones(1,4); % Diagonal inferior

% Matriz A y Vector B

A = diag(P) + diag(S, 1) + diag(I,-1); % Matriz A
B = [L*xf/M; 0; 0; 0; -V*y6/M]; % Vector B

% Seleccin del Mtodo de Solucin

i = input('Mtodo de solucin:\n\n 1. Divisin Matricial \n 2. Producto Matricial\n\n Digite el
Nmero de su Seleccin = \');

% Clculo de las concentraciones en fase lquida

if i == 1
X = A\B;
elseif i == 2
X = (inv(A))*B;
else
end

% Clculo de las concentraciones de la fase vapor

Y = k*X;
N = [1:5]';

% Concatenacin de matrices

R = [N X Y];

% Despliegue de Resultados
disp(' ')
disp(' RESULTADOS')
disp('============================================')
disp(' ETAPA X Y')
disp('============================================ ')
disp(' ')
fprintf('%20.0f % 20.6f % 20.6f\n', R')

También podría gustarte