Vectores y matrices. Conceptos
Enviado por carecrimen • 14 de Marzo de 2014 • Trabajo • 1.792 Palabras (8 Páginas) • 527 Visitas
Tema 3: Vectores y matrices. Conceptos
básicos
1. Definición
Matlab está fundamentalmente orientado al trabajo y el cálculo matricial.
Veremos que las operaciones están definidas para el trabajo con este tipo de
elementos. Antes de empezar a manejar y operar con ellas veamos cómo se definen.
Como en casi todos los lenguajes de programación, en Matlab las matrices y
vectores son variables a las que se les puede dar nombres. Para definir una matriz no
hace falta establecer de antemano su tamaño (de hecho, se puede definir un tamaño y
cambiarlo posteriormente). Matlab determina el número de filas y de columnas en
función del número de elementos que se introducen (o se utilizan). Las matrices se
definen con los elementos entre corchetes y por filas; los elementos de una misma fila
están separados por blancos o comas, mientras que las filas están separadas por
pulsaciones intro o por caracteres punto y coma (;).
Por ejemplo, el siguiente comando define una matriz A de dimensión (3x3):
>> A=[1 2 3; 4 5 6; 7 8 9]
La respuesta del programa es:
1 2 3
4 5 6
7 8 9
Veamos en el Workspace como las almacena Matlab (figura 12):
30
Figura 12
A partir del momento en que tenemos definidas diversas matrices, se pueden
operar. Matlab puede hacer esto por medio de operadores o por medio de funciones.
2. Operaciones elementales
Operaciones básicas como suma, producto o trasposición de hacen como se
muestra a continuación, permitiéndose algunas operaciones no definidas
matemáticamente:
Operador suma (+)
Utilizado entre matrices de iguales dimensiones, obtiene la suma elemento a
elemento. Utilizado entre una matriz y un escalar, suma el escalar a cada elemento de
la matriz.
Operador resta (-)
Idéntico a la suma en su utilización.
Operador producto (*)
Utilizado entre matrices calcula el producto matricial. Las dimensiones de las
matrices deben ser congruentes. Utilizado entre una matriz y un escalar, multiplica el
escalar por cada elemento de la matriz.
Operador producto elemento a elemento (.*)
Se utiliza entre dos matrices de iguales dimensiones y multiplica elemento a
elemento, obteniendo otra matriz de igual dimensión.
Operador potenciación (^)
31
Si c es un entero y A es una matriz cuadrada, A^c calcula el producto A*A*A
.............. *A, c veces.
Operador potenciación elemento a elemento (.^)
A.^B da como resultado una matriz cuyo elemento ij es aij^bij.
A.^c da como resultado una matriz cuyo elemento ij es aij^c.
c.^A da como resultado una matriz cuyo elemento ij es c^aij.
Operador división (/) (\)
En Matlab existe el operador división a la derecha (/) y división a la izquierda
(\).
La utilización entre matrices es la siguiente:
- \ división-izquierda: A\B
Si A es cuadrada A\B=inversa(A)*B. Si A no es cuadrada A\B es la solución en
el sentido de mínimos cuadrados del sistema AX=B.
- / división-derecha: A/B
Si B es cuadrada A/B=A*inversa(B). Si B no es cuadrada, A/B es la solución del
sistema XB=A.
Operador división elemento a elemento (./) (.\)
A./B da como resultado una matriz cuyo elemento ij es aij /bij.
A.\B da como resultado una matriz cuyo elemento ij es bij /aij.
Operador traspuesta (‘)
A’ da como resultado la matriz transpuesta de A.
3. Operaciones por medio de funciones
En menú de la ayuda: matlab\elmat - Elementary matrices and matrix
manipulation y matlab\matfun - Matrix functions - numerical linear algebra, se pueden
encontrar las diversas funciones que se aplican a las matrices. Destacamos las más
elementales como:
inv(A) da como resultado la matriz inversa de A.
det(A) da como resultado el determinante de A.
trace(A) da como resultado la traza de A.
rank(A) da el rango de A
Debe destacarse que la mayoría de las funciones definidas en el programa se
ejecutan sobre cualquier matriz aplicándose elemento a elemento.
Por ejemplo:
>> Sin(A)
32
Ofrece como respuesta una matriz del mismo tamaño que A cuyos elementos
son el seno del correspondiente elemento de A:
0.8415 0.9093 0.1411
-0.7568 -0.9589 -0.2794
0.6570 0.9894 0.4121
4. Otras formas de definir matrices
Algunas veces, introducir matrices por el teclado no es práctico. Veremos otras
formas más potentes de generar matrices que luego, tras modificaciones nos pueden
llevar a definir la que nos interesa. Los comandos a utilizar se encuentren en
matlab\elmat.
Algunas de estas funciones son las siguientes:
eye(n) forma la matriz identidad de tamaño (nxn)
zeros(m,n) forma una matriz de ceros de tamaño (mxn)
zeros(n) forma una matriz de ceros de tamaño (nxn)
ones(n) forma una matriz de unos de tamaño (nxn)
ones(m,n) forma una matriz de unos de tamaño (mxn)
rand: este comando genera números pseudoaleatorios distribuidos
uniformemente entre 0 y 1. Cada llamada proporciona un nuevo número.
rand(n): genera una matriz de números pseudoaleatorios entre 0 y 1, con
distribución uniforme, de tamaño nxn.
rand(m,n): igual que en el caso anterior pero de tamaño mxn.
5. Manipulación de matrices
Con este programa es posible crear matrices a partir de una dada, extraer o
cambiar elementos de una matriz y, en general, manipular de casi cualquier forma
estos elementos. Veamos los diversos caminos para realizarlo:
- Crear una nueva matriz que reciba alguna característica o propiedad de la de
partida
- Componer una matriz a partir de submatrices más pequeñas.
- Mediante la manipulación de los elementos de la matriz de partida.
Características de una matriz:
33
Destacamos algunos comandos que permiten trabajar con las características o
elementos de una matriz de partida:
size (A), length(A) nos dan información sobre las características de la matriz
A, en este caso dimensión de la matriz o longitud del vector.
zeros (size(A)) genera una matriz de ceros del mismo tamaño que A.
ones(size(A)) lo mismo con matriz de unos
A=diag(x) devuelve una matriz diagonal cuyos elementos de la diagonal son
los del vector x.
triu(A) y tril(A)
...