ingeniero
a
FUNDAMENTOS DE MATEMATICAS.
Ingenier´ Qu´
ıa
ımica (Curso 2005-06)
´
Algebra Lineal Pr´ctica 3
a
1.
Matrices en Matlab
Para introducir una matriz en Matlab se procede de la forma siguiente. Si por ejemplo tenemos la matriz
A=
1 2
5 6
3 4
7 8
se introduce como:
>>A=[1 2 3 4; 5 6 7 8]
A =
1
5
2
6
3
7
4
8
O bien,>>A=[1,2,3,4;5,6,7,8];
Observemos que unas matrices especiales son los vectores, de esta forma, el vector fila v = (1.0, 1.1,1.2,1.3, . . . ,
1.9,2.0), se escribe en Matlab como
>>v=[1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2.0]
2.
Operaciones y comandos para Matrices
Hemos visto c´mo se introducen las matrices en Matlab. Veamos un ejemplo para introducir algunos de los
ocomandos b´sicos:
a
Ejemplo 1 Operaciones Elementales
Definimos dos matrices:
>>A=[2 1;3 2]
A =
2
3
1
2
>>B=[3 4;-1 5]
B =
3
-1
4
5
• Para sumar las dos matrices:
>>A+B
ans =
5
2
5
7
• Para multiplicar una matriz por un escalar:
8
>>3*A
ans =
6
9
3
6
• Producto de matrices:
>>C=A*B
C =
5
7
13
22
Siempre que los tama˜os de las matrices seanlos adecuados. Para saber cu´l es el tama˜ o de una matriz con
n
a
n
la que estamos trabajando,
>>size(A)
ans =
2
2
Que quiere decir, evidentemente, 2 filas y 2 columnas.
• Para calcular la matriz transpuesta:
>>A’
ans =
2
1
3
2
Ejercicio 1 Utilizando las matrices definidas en el ejemplo anterior, comprobar que (AB)t = B t At . (At es la
transpuesta de A).
Ejemplo 2Operaciones t´rmino a t´rmino: .* ./ .^
e
e
Matlab tiene tres operaciones, que las llamaremos operaciones con punto, que permiten
i) multiplicar matrices t´rmino a t´rmino: .*
e
e
ii) dividir matrices t´rmino a t´rmino: ./
e
e
ii) elevar los t´rminos de una matriz a una cierta potencia: .^
e
Si v es el vector definido en la Secci´n 2, explorar qu´ hace la orden
o
e
>>v.^2
Por otra parte,si A y B son las matrices definidas anteriormente, explorar qu´ hacen las ordenes
e
´
>>A.*B
>>A./B
Estas operaciones con punto son esenciales en el c´lculo num´rico y se utilizan para representar funciones
a
e
num´ricamente.
e
Ejemplo 3 Matrices especiales con Matlab
• Para generar la matriz identidad cuadrada,
>>eye(3)
ans =
1
0
0
0
1
0
0
0
1
9
¿Por qu´ habr´nelegido el nombre eye?
e
a
• Una matriz 3 × 2 llena de unos,
>>ones(3,2)
• Y si queremos que est´ llena de ceros,
e
>>zeros(3,2)
• Para generar una matriz con n´meros aleatorios uniformemente distribuidos entre 0 y 1,
u
>>rand(3,2)
Si se usa el comando randn los n´meros aleatorios son normalmente distribuidos, siguiendo la Normal Estandar
u
N (0, 1).
Ejemplo 4 Rango, Inversa yDeterminante
• Definimos la matriz,
>>X=[2 3 4; 1 -1 0]
X =
2
3
4
1
-1
0
Para calcular su rango,
>>rank(X)
ans =
2
• Supongamos que tenemos definida la siguiente matriz,
H =
8
3
4
1
5
9
6
7
2
Para calcular su inversa,
>>inv(H)
ans =
0.1472
-0.0611
-0.0194
-0.1444
0.0222
0.1889
0.0639
0.1056
-0.1028
Y si queremos ver el resultado en forma racional,
>>formatrational
>>inv(H)
ans =
53/360
-13/90
-11/180
1/45
-7/360
17/90
23/360
19/180
-37/360
(Para ver todas las opciones del comando format hacer help format)
• Para calcular el determinante de la matriz anterior H,
>>det(H)
ans =
-360
Ejercicio 2 Generar una matriz cualquiera, por ejemplo 25×25, y calcular su inversa, su rango y su determinante.
(¡No imprimirla!) ¿Qu´ ocurre con eldeterminante de la matriz y el de su inversa?
e
10
Ejemplo 5 Los comandos especiales rref y rrefmovie
• El comando rref produce la forma reducida escalonada por filas de una matriz usando la eliminaci´n de
o
Gauss-Jordan, es decir, haciendo ceros por debajo y por encima de la diagonal principal sin mover las columnas.
Por ejemplo, definimos la matriz,
>>A=[-1 2 -1;2 1 2;2 4 2]
A =
-1...
Regístrate para leer el documento completo.