Arreglos Matrices
Arreglos Matrices
Arreglos Matrices
INGENIERÍA MECATRÓNICA
INFORMÁTICA 2
MATLAB: Arreglos
1
Matlab
Arreglos: Matrices
2
Matlab
Arreglos: Matrices
Ejemplos
>> A = [1 2 3; 4 5 6] % es una matriz con 2 filas y 3 columnas
A=
1 2 3
4 5 6
>> A = [1 2 3;
4 5 6]
A=
1 2 3
4 5 6
>> A = [1 2 3
4 5 6]
A=
1 2 3
4 5 6
3
Matlab
Arreglos: Matrices
4
Matlab
Arreglos: Matrices
5
Matlab
Arreglos: Matrices
Ejemplos
>> A = [1 2 3; 4 5 6]
>> A (2,2:3) % escribe de la segunda fila, columnas de la 2 a la 3
ans =
5 6
>> A (2, [3 1] ) % escribe de la segunda fila de la matriz, las columnas 3 y 1
ans =
6 4
>> A ( [2 1] , 2:3) % escribe de las filas 2 y 1 , las columnas de la 2 a la 3
ans =
5 6
2 3
>> A (end, [1 3] ) % escribe de la última fila, las columnas 1 y 3
ans =
4 6
6
Matlab
Arreglos: Matrices
7
Matlab
Arreglos: Matrices
8
Matlab
Arreglos: Matrices
9
Matlab
Arreglos: Matrices
Ejemplos
>> M = [1 2 3 ;4 5 6 ];
>> A=M(:)
A=
1
4
2
5
3
6
10
Matlab
Arreglos: Matrices
Ejemplos
>> M = [1 2 3; 4 5 6; 7 8 9];
>> M(1,5)=3
M=
1 2 3 0 3
4 5 6 0 0
7 8 9 0 0
11
Matlab
Arreglos: Matrices
12
Matlab
Arreglos: Matrices
13
Matlab
Arreglos: Matrices
Ejemplos
>> zeros (3) % matriz cuadrada 3 x 3 de ceros ans =
0 0 0
0 0 0
0 0 0
>> zeros (2,5) % matriz 2 x 5 de ceros
ans =
0 0 0 0 0
0 0 0 0 0
>> ones (2,3) % matriz de unos
ans =
1 1 1
1 1 1
14
Matlab
Arreglos: Matrices
Ejemplos
>> eye(3) % matriz identidad de 3 x 3 ans =
1 0 0
0 1 0
0 0 1
>> rand(2,4) % matriz de 2 x 4 con entradas aleatorias
ans =
0.8147 0.1270 0.6324 0.2785
0.9058 0.9134 0.0975 0.5469
>> magic(3) % matriz de 3x3 cuyos renglones y columnas suman lo mismo
ans =
8 1 6
3 5 7
4 9 2
= ..
,
-.;..
. _
15
Matlab
Arreglos: Operaciones con matrices
16
Matlab
Arreglos: Operaciones con matrices
Expresión Operación
M+N Suma de matrices (=)
M–N Resta de matrices (=)
M*N Multiplicación de matrices (c=r)
M .* N Multiplicación elemento a elemento (=)
M\N División de matrices por la izquierda (sol. MX = N) (=r)
M/N División de matrices por la derecha (sol. XM = N) (=c)
M/N = (M'\N')'
M ./ N División elemento a elemento por la derecha
M .\ N División elemento a elemento por la izquierda
M^k Potenciación de la matriz cuadrada M a la potencia k
M .^ N Potenciación elemento a elemento
M' Transposición compleja conjugada
M .' Transposición
17
Matlab
Arreglos: Funciones para el análisis de matrices
18
Matlab
Arreglos: Funciones para el análisis de matrices
Funciones
rot90 (A) gira la matriz 90º en sentido contrario al reloj
rot90 (A,n) gira la matriz n x 90º
expm (A) exponencial matricial
logm (A) logaritmo matricial
sqrtm (A) raíz cuadrada matricial
funm (A,@función) evalúa la función en la matriz A
exp, log, sqrt… operan elemento a elemento
eig (A) valores propios
cond (A) número de condición (sensibilidad a errores en datos)
norm (A) norma
norm (A,n) norma-n
normest (A) estimación de la norma-2
19
Matlab
Arreglos: Funciones para el análisis de matrices
Funciones
null (A) espacio nulo
orth (A) ortogonalización
pinv (A) pseudoinversa
poly (A) polinomio característico
rank (A) rango
rref (A) reducción mediante la eliminación de Gauss
trace (A) traza
tril (A) matriz triangular inferior a partir de la matriz A
triu (A) matriz triangular superior a partir de la matriz A
[VE,VA] = eig (A) VE son los vectores y VA son los valores propios
[L,U] = lu (A) factorización LU
[Q,R] = qr (A) factorización QR
20
Matlab
Arreglos: Operadores relacionales con vectores y matrices
Cuando alguno de los operadores relacionales (<, >, <=, >=, ==
y ∼=) actúa entre dos matrices del mismo tamaño, el
resultado es otra matriz de ese mismo tamaño conteniendo
unos y ceros, según los resultados de cada comparación true
o false, respectivamente.
Ejemplos
>> A=magic(3) A =
8 1 6
3 5 7
4 9 2
>> M=A>4
M=
1 0 1
0 1 1
0 1 0
21
Matlab
Arreglos: Operadores relacionales con vectores y matrices
Funciones
any(x) función vectorial; verifica si alguno de los elementos del vector x
cumple una determinada condición.
any(A) se aplica por separado a cada columna de la matriz A. El
resultado es un vector de unos y ceros
all(x) función vectorial; verifica si todos los elementos del vector x
cumplen una condición.
all(A) se aplica por separado a cada columna de la matriz A. El resultado
es un vector de unos y ceros
find(x) busca índices correspondientes a elementos de vectores que
cumplen una determinada condición. El resultado es un vector con los
índices de los elementos que cumplen la condición
find(A) cuando esta función se aplica a una matriz la considera como un
vector con una columna detrás de otra. ......
22
Matlab
Arreglos: Matrices
Ejemplos
>> A=magic(3) A =
8 1 6
3 5 7
4 9 2
>> m=find(A>4)
m=
1
5
6
7
8
23
Matlab
Arreglos: Operadores relacionales con vectores y matrices
Ejemplos
>> A(m)=10*ones(size(m)) % sustituye los elementos que cumplen la condición
A= anterior por valores de 10.
10 1 10
3 10 10
4 10 2
Funciones
isnan(A) verifica si hay valores NaN en A, devolviendo una matriz de
unos y ceros del mismo tamaño que A.
isinf(A) verifica si hay valores Inf en A, devolviendo una matriz de unos y
ceros del mismo tamaño que A.
isfinite(A) verifica si los valores de A son finitos.
isempty(A) verifica si un vector o matriz está vacío o tiene tamaño nulo.
issparse() verifica si una matriz es dispersa (sparse, es decir, con un
gran número de elementos cero).
24
Matlab
Arreglos: Matrices
Ejemplos
>> x=[1 2 3 4 0/0 6] Warning: Divide by zero x =
1 2 3 4 NaN 6
>> i=find(isnan(x))
i=
5
>> x(isnan(x))=[] % posibles formas de eliminarlo
x=
1 2 3 4 6
>> x=x(~isnan(x));
>> x=x(find(~isnan(x)));
>> A(any(isnan(A)'), :)=[] % elimina las filas de A que contienen algún NaN
= ..
,
-.;..
. _
25