Documentos de Académico
Documentos de Profesional
Documentos de Cultura
PRACTICA N 2
Uso de Vectores y Matrices.
-Creacin de vectores:
Los vectores o matrices en Octave y Matlab, pueden declararse acomodando
los datos entre corchetes, separados por una coma. Ejemplo:
>>A= [1, 2, 3]
A=
1
-linspace (): Este comando nos permite crear arrays (vectores) de una manera
mucho ms prctica cuando se quiera generar un nmero de datos dentro de
un rango definido. Consiste en definir un valor de inicio, uno de fin y la cantidad
de elementos deseados, de la forma que sigue:
>>A=linspace(0,10,6)
A=
0
8 10
El 'lin' es por ser una distribucin lineal, por tanto logspace(a, b, n) crear un
array en base logartmica. Devuelve un vector fila con n elementos
espaciados exponencialmente entre 10a y 10b.
>>logspace(1,100,10)
Una variante a los comandos 'espace' es el uso de 'range' o rangos, de la
manera siguiente:
Vector=inicio: salto: final
>>A=1:2:10
A=
0
8 10
-Creacin de Matrices:
1
1
1
1
1
1
1
1
1
-Eye(n): Este comando permite crear una matriz identidad nxn. La matriz
identidad es aquella matriz m que multiplicada por cualquier otra matriz, da
como resultado la matriz m sin alterar.
C=
2.0000
-Resta:
>> C=A-B
C=
0
0.2500
0.5000
0.7500
1.0000
>>C=5-B
C=
4
-2
-4
-Producto:
>>C=A.*B
C=
1.0000
>> C=5*A
C=
5.0000 16.2500 27.5000 38.7500 50.0000
-Potencias:
>> C=A.^B
C=
1
34.328
6561
5032.8 1.6792e+06
1e+09
>> C=B.^8
C=
390625
5764801
43046721
Tambin nos podemos valer de esta caracterstica, para crear otros vectores:
>>B =[ 1,
3,
5,
7,
9] podemos hacer:
>>vector=B(2:5)
Vector =
3
-2 -1 1
Ejemplo:
>>A=[1,2, 3;4, 5, 6]; B=[6, 5, 4; 3, 2, 1];
>>A+B El resultado de la operacin es por defecto almacenado en la variable
ans e inmediatamente presentado en pantalla:
ans =
7 7 7 7 7 7
-Multiplicando Matrices: La operacin de multiplicacin de matrices est
definida siempre que el nmero de columnas de la primera matriz sea igual al
nmero de filas de la segunda matriz.
-Inversa: Para utilizar el comando inv() de be ser una matriz cuadrada.
>> A=[1,2,3;4,5,6;7,8,9]
A=
1
4
7
>> inv(A)
2
5
8
3
6
9
ans =
-4.5036e+15 9.0072e+15 -4.5036e+15
9.0072e+15 -1.8014e+16
9.0072e+15
9.0072e+15 -4.5036e+15
9.0072e+15 -1.8014e+16
9.0072e+15
>> A.^-1
ans =
1
0.5
0.25
0.14286
0.33333
0.2
0.16667
0.125
0.11111
-Formatos de salida:
>>4/3
a) format short
1.3333
b) format short e
1.3333e+00
c) format long
1.33333333333333
d) format long e
1.33333333333333e00
e) format bank
1.33
f) format hex
3ff5555555555555
Ejemplo aplicado:
Sistemas de Ecuaciones Lineales.
Un sistema de ecuaciones lineales,
+
+ +
++
+ +
Balances de masa.
= +
-Global:
-Balance de N2:
Sustituyendo:
-Balance de O2:
Sustituyendo:
.9 +
+
+
= + (1)
5
. 5
(2)
(3)
= .
. 5 =
. 5 =
>> A=[1,1;0.9,0.025]
>> b=[1000,200]
>> C=inv(A)*b
Error using * Inner matrix dimensions must agree.
El error anterior se debe a que La operacin de multiplicacin de arreglos
est definida siempre que el nmero de columnas del primer arreglo sea igual
al nmero de filas del segundo.
Esto se debe a que el vector b solo consta de 1 fila mientras que la matriz A
consta de 2 columnas, por lo que se debe usar el cdigo transpose(b) para
reordenarlo verticalmente obteniendo as un vector de 1 columna y 2 filas.
>> A=[1,1;0.9,0.025]
>> b=[1000,200]
>> b=transpose(b)
>> C=inv(A)*b
X=
200
800
Otra forma de realizarlo sera utilizar la siguiente notacin:
>> A=[1,1;0.9,0.025]
>> b=[1000,200]
>> b=transpose(b)
>> C=A^-1*b
X=
200
800
Otra forma:
>> A=[1,1;0.9,0.025]
>> b=[1000,200]
>> b=transpose(b)
>> C=A\b % uso de divisin inversa
X=
200
800
Por lo que la respuesta al problema sera:
C1= 1000 mol/h
C2= 200 mol/h
C3= 800 mol/h