PPT_ Prefijo homo tema para trabajar los prefijos en razonamiento verbal
Matrices en Matlab
1. Introducción
En esta práctica vamos a profundizar un poco en las capacidades de Matlab para trabajar con
matrices. Veremos en primer lugar algunas operaciones y comandos básicos y no tan básicos
que tiene el programa para trabajar con vectores y matrices.
Matrices en Matlab
Para introducir una matriz en Matlab se procede de la forma siguiente.
Ejemplo.
Introducir la matriz A
1 2 3 4
A =
5 6 7 8
Se introducen los elementos de cada fila y luego ; y así sucesivamente hasta introducir todas las
filas.
>>A=[1 2 3 4; 5 6 7 8] % pulsa Enter
En matlab se ve así.
A=
1234
5678
Vectores
Si queremos introducir las componentes de un vector v, las escribiremos entre corchetes
separándolos con comas o espacios.
Dado el vector fila.
v=[2 3 5 8]
Se escribe en Matlab de la siguiente manera
>> v=[2 3 5 8] % al pulsar Enter resulta
v=
2 3 5 8
6
Dado el vector columna w = 9
2
En Matlab se escribe cada elemento separados por punto y coma ;
>> w=[6;9;2;1] % al pulsar Enter resulta
w=
6
9
2
1
2. Operaciones con Matrices
Hemos visto cómo se introducen las matrices en Matlab. Veamos un ejemplo para introducir
algunos de los comandos básicos:
Ejemplo 1 : Operaciones Elementales
Definimos dos matrices:
>>A=[8 4;3 2]
A=
84
32
>>B=[4 5;7 -2]
B=
4 5
7 -2
Para sumar las dos matrices:
>>A+B
ans =
12 9
10 0
Para multiplicar una matriz por un escalar:
>>3*A
ans =
24 12
9 6
Producto de matrices:
Para multiplicar dos matrices es necesario que el tamaño sea el adecuado, el número de
columnas de la primera matriz debe ser igual al número de filas de la segunda.
Sean las matrices A y B
4 1
A = esta matriz es de tamaño 2x2 (dos filas y dos columnas)
6 2
− 3 2
B = esta matriz es de tamaño 2x2 (dos filas y dos columnas)
9 6
Escribimos en Matlab ambas matrices
>> A=[4 1;6 2]
A=
4 1
6 2
>> B=[-3 6;9 2]
B=
-3 6
9 2
Multiplicar A*B
>> A*B
ans =
-3 26
0 40
3. 3 1 2
C2×3 =
4 7 0
el tamaño es de 2×3 (dos filas y tres columnas)
Escribimos en Matlab la matriz C y A
>> C=[3 1 2;4 7 0]
C=
3 1 2
4 7 0
4 1
A =
6 2
>> A=[4 1;6 2]
A=
4 1
6 2
Multiplicar A2×2*C2×3
>> A*C
ans =
16 11 8
26 20 12
Ejemplo: Multiplicar C2×3*D3×3
1 3 0
D3×3 = 4
5 8 el tamaño de esta matriz es 3×3
−3
2 1
Escribimos en matlab la matriz D
>> D=[1 3 0;4 5 8;-3 2 1;]
D=
1 3 0
4 5 8
-3 2 1
>> C*D
ans =
1 18 10
32 47 56
4. Transpuesta de una matriz.
Para obtener la transpuesta de A en matlab escribimos A'
>> A'
ans =
4 6
1 2
% para la transpuesta de C
>> C'
ans =
3 4
1 7
2 0
OPERACIONES ENTRE ESCALARES Y MATRICES
• a+B es la matriz que resulta al sumar el escalar a cada elemento de la
Matriz B.
• a*B cada elemento de B se multiplica por el escalar a.
• A/b cada elemento de A se divide por el escalar b.
Ejemplos
Sumar 5 a cada elemento de la matriz B
>> B=[2 5 7; 9 2 1]
B=
2 5 7
9 2 1
>> 5+B
ans =
7 10 12
14 7 6
Multiplicar 3 por cada elemento de la matriz B
>> 3*B
ans =
6 15 21
27 6 3
Dividir cada elemento de B entre 2
>> B/2
ans =
1.0000 2.5000 3.5000
4.5000 1.0000 0.5000
5. DETERMINANTE DE UNA MATRIZ
Calcular el determinante de la matriz B
>> B=[4 6;9 3]
B=
4 6
9 3
>> det(B)
ans =
-42
Calcular el determinante de la matriz A
En matlab para calcular el determinante de la matriz A se escribe det(A)
2 6 1
A = 0
9 − 4
3
−2 5
>> A=[2 6 1;0 9 -4;3 -2 5]
A=
2 6 1
0 9 -4
3 -2 5
>> det(A)
ans =
-25
Inversa de una matriz singular
Una matriz es singular si y solo si su determinante es cero.
Matriz invertible
Una matriz invertible sólo tiene una inversa, es decir, la inversa es única.
La única inversa de una matriz invertible A se representa por A -1.
El producto de una matriz por su inversa es igual a la matriz unidad
1 0
I= matriz unidad I =
0 1
A*A-1 = I
Dada la matriz A calcular su inversa
2 4
A =
8 2
>> A=[2 4;8 2]
A=
2 4
8 2
>> inv(A)
ans =
6. -0.0714 0.1429
0.2857 -0.0714
Y si queremos ver el resultado en forma racional utilizamos el comando “format rotional”
>> A=[2 4;8 2];
>> format rational
>> inv(A)
ans =
-1/14 1/7
2/7 -1/14
Comprobar que A*A-1=I ( la matriz A por su inversa es igual a la matriz unidad)
>> A*inv(A)
ans =
1 0
0 1
2 6 1
Calcular la inversa de la matriz A A = 0
9 − 4
3
−2 5
>> inv(A)
ans =
-1.4800 1.2800 1.3200
0.4800 -0.2800 -0.3200
1.0800 -0.8800 -0.7200
Comprobar que A*A-1=I
>> A*inv(A)
ans =
1.0000 0.0000 0.0000
0 1.0000 0
0 0.0000 1.0000
OPERACIONES TÉRMINO A TÉRMINO.
También necesitaremos operaciones como las siguientes: el producto de dos matrices elemento
a elemento, elevar cada elemento de una matriz a un cierto exponente, dividir elemento a
elemento una matriz por otra. En general, estas operaciones se indicarán anteponiendo un punto
al símbolo usado para denotar la operación en cuestión. A continuación damos una relación de
estas operaciones:
Matlab tiene tres operaciones, que las llamaremos operaciones con punto, que permiten
1) multiplicar matrices término a término: ( .* )
2) dividir matrices término a término: ( ./ )
3) elevar los términos de una matriz a una cierta potencia: ( .^ )
A.*B es la matriz cuyos elementos se obtienen haciendo el producto de cada elemento de A por
el correspondiente de B.
A.^a es la matriz que resulta al elevar cada elemento de A al exponente a.
7. A./B es la matriz cuyos elementos se obtienen dividiendo cada elemento
de A por el correspondiente de B.
Si v es el vector definido en la Sección 2, explorar qué hace la orden
>>v.^2
Por otra parte, si A y B son las matrices definidas anteriormente, explorar qué hacen las órdenes
>>A.*B
>>A./B
Estas operaciones con punto son esenciales en el cálculo numérico y se utilizan para representar
funciones numéricamente.
Matrices especiales con Matlab
Para generar la matriz identidad cuadrada,
3x3
>>eye(3)
ans =
100
010
001
¿Por qué habrán elegido el nombre eye?
Una matriz 3x2 llena de unos,
>>ones(3,2)
Y si queremos que esté llena de ceros,
>>zeros(3,2)
Para generar una matriz con números aleatorios uniformemente distribuidos entre 3 y 2,
>>rand(3,2)
Si se usa el comando rand los números aleatorios son normalmente distribuidos, siguiendo la
Normal Estándar
N(0; 1).
Ejemplo 4
Rango, Inversa y Determinante
De finimos la matriz,
>>X=[2 3 4; 1 -1 0]
X=
234
1 -1 0
Para calcular su rango,
>>rank(X)
ans =
2
8. Y si queremos ver el resultado en forma racional,
>>format rational
>>inv(H)
ans =
53/360 -13/90 23/360
-11/180 1/45 19/180
-7/360 17/90 -37/360
Matriz singular
Si una matriz es singular significa que no tiene inversa, por lo que al tratar de calcular su inversa
ocurrirá lo siguiente:
>>X=inv(A)
Warning: Matriz is closet o singular or badly scaled.
Results may be inaccurate. RCOND = 1.306145e-017.
Determinante de una matriz
Para calcular el determinante de la matriz anterior H,
>>det(H)
ans =
-360
Tamaño de un vector o una matriz
Size (i) (Obtenemos la dimensión y tamaño del vector i)
>>a=[2 4 5 ; 6 8 3; 7 8 4]
>>a =
2 4 5
6 8 3
7 8 4
>> size(a)
ans =
3 3 % la matriz es de orden 3x3
>> a=[2 4 5 ; 6 8 3]
a=
2 4 5
6 8 3
>> size(a)
ans =
9. 2 3 3 % la matriz es de orden 2x3
Elementos de la diagonal de una matriz
>>diag(A)
Al utiliza el operador dos puntos en subíndices de matrices, se puede acceder a
porciones de esta, esto es, si se realiza la operación A(1:k,j) se llaman los primeros
k elementos de la columna j. En el caso de se requiera llamar todos los elementos
de la columna j, basta con utilizar el operador dos puntos de la siguiente forma,
A(:.k). al hacer esto, se estarán llamando todos los elementos de la columna k.
Potencia de una matriz ( pasos del proceso de Markov)
Para calcular la potencia de una matriz A se procede de la siguiente forma.
A^3