Vous êtes sur la page 1sur 9

Introduccin

En esta prctica vamos a profundizar un poco en las capacidades de Matlab para trabajar con
matrices. Veremos en primer lugar algunas operaciones y comandos bsicos y no tan bsicos
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
A
5

2
6

4
8

3
7

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
separndolos 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]
v=
2

% al pulsar Enter resulta


8

Dado el vector columna

6
w 9
2

En Matlab se escribe cada elemento separados por punto y coma ;


>> w=[6;9;2;1]
w=
6
9
2
1

% al pulsar Enter resulta

Operaciones con Matrices


Hemos visto cmo se introducen las matrices en Matlab. Veamos un ejemplo para introducir
algunos de los comandos bsicos:
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 tamao sea el adecuado, el nmero de
columnas de la primera matriz debe ser igual al nmero de filas de la segunda.
Sean las matrices A y B
4
A
6
3
B
9

1
2
2
6

esta matriz es de tamao 2x2 (dos filas y dos columnas)

esta matriz es de tamao 2x2 (dos filas y dos columnas)

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
C 2 3
4

2
0

1
7

el tamao es de 23 (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
A
6

1
2

>> A=[4 1;6 2]


A=
4 1
6 2
Multiplicar A22*C23
>> A*C
ans =
16 11 8
26 20 12
Ejemplo: Multiplicar C23*D33

D33

1
4
3

3
5
2

8
1

el tamao de esta matriz es 33

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

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

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
A 0
3

6
9
2

1
4
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 slo 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
A
8

4
2

>> A=[2 4;8 2]


A=
2 4
8 2
>> inv(A)
ans =

-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
Calcular la inversa de la matriz A
>> inv(A)
ans =
-1.4800 1.2800 1.3200
0.4800 -0.2800 -0.3200
1.0800 -0.8800 -0.7200

2
A 0
3

6
9
2

1
4
5

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 TRMINO A TRMINO.
Tambin 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 indicarn anteponiendo un punto
al smbolo usado para denotar la operacin en cuestin. A continuacin damos una relacin de
estas operaciones:
Matlab tiene tres operaciones, que las llamaremos operaciones con punto, que permiten
1) multiplicar matrices trmino a trmino: ( .* )
2) dividir matrices trmino a trmino: ( ./ )
3) elevar los trminos 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.

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 Seccin 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 clculo numrico y se utilizan para representar
funciones numricamente.

Matrices especiales con Matlab


Para generar la matriz identidad cuadrada,
3x3
>>eye(3)
ans =
100
010
001
Por qu habrn 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 nmeros aleatorios uniformemente distribuidos entre 3 y 2,
>>rand(3,2)
Si se usa el comando rand los nmeros aleatorios son normalmente distribuidos, siguiendo la
Normal Estndar
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

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
Tamao de un vector o una matriz
Size (i) (Obtenemos la dimensin y tamao del vector i)
>>a=[2 4 5 ; 6 8 3; 7 8 4]
>>a =
2
6
7

4
8
8

5
3
4

>> size(a)
ans =
3

% la matriz es de orden 3x3

>> a=[2 4 5 ; 6 8 3]
a=
2
6

4
8

>> size(a)
ans =

5
3

% la matriz es de orden 2x3

Elementos de la diagonal de una matriz


>>diag(A)
Al utiliza el operador dos puntos en subndices de matrices, se puede acceder a
porciones de esta, esto es, si se realiza la operacin 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 estarn 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

Vous aimerez peut-être aussi