practica3 200506
FUNDAMENTOS DE MATEMATICAS.
Ingenier´ıa Qu´ımica (Curso 2005-06)
´
Algebra
Lineal Pr´
actica 3
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 unasmatrices 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´omo se introducen las matrices en Matlab. Veamos un ejemplo para introducir algunos de los
comandos b´asicos:
Ejemplo 1 Operaciones ElementalesDefinimos 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˜
nos de las matrices sean los adecuados. Para saber cu´
al es el tama˜
no de una matriz con
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 2 Operaciones t´ermino a t´ermino: .* ./ .^
Matlab tiene tres operaciones, que las llamaremos operaciones con punto, que permiten
i)multiplicar matrices t´ermino a t´ermino: .*
ii) dividir matrices t´ermino a t´ermino: ./
ii) elevar los t´erminos de una matriz a una cierta potencia: .^
Si v es el vector definido en la Secci´
on 2, explorar qu´e hace la orden
>>v.^2
Por otra parte, si A y B son las matrices definidas anteriormente, explorar qu´e hacen las o
´rdenes
>>A.*B
>>A./B
Estas operaciones con punto son esenciales en elc´alculo num´erico y se utilizan para representar funciones
num´ericamente.
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´e habr´
an elegido el nombre eye?
• Una matriz 3 × 2 llena de unos,
>>ones(3,2)
• Y si queremos que est´e llena de ceros,
>>zeros(3,2)
• Para generar una matriz con n´
umeros aleatoriosuniformemente distribuidos entre 0 y 1,
>>rand(3,2)
Si se usa el comando randn los n´
umeros aleatorios son normalmente distribuidos, siguiendo la Normal Estandar
N (0, 1).
Ejemplo 4 Rango, Inversa y Determinante
• 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
Paracalcular 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,
>>format rational
>>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 =
-360Ejercicio 2 Generar una matriz cualquiera, por ejemplo 25×25, y calcular su inversa, su rango y su determinante.
(¡No imprimirla!) ¿Qu´e ocurre con el determinante de la matriz y el de su inversa?
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´
on de
Gauss-Jordan, es decir, haciendo ceros pordebajo 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
2
2
2
1
4
-1
2
2
Ahora escribimos el comando aplicado a la matriz,
>>R=rref(A)
R =
1
0
0
0
1
0
1
0
0
• El comando rrefmovie produce exactamente el mismo resultado pero nos indica paso a paso c´
omo se va
obteniendo la matriz resultado e incluso qu´e filas o...
Regístrate para leer el documento completo.