MatLab Vectores y Matrices
MatLab Vectores y Matrices
MatLab Vectores y Matrices
Arreglos: se define como la unión de varios elementos en una o dos dimensiones (filas y
columnas). Pueden introducirse como una lista de elementos de manera explícita, generando las
entradas por medio de comandos y funciones, o simplemente cargando los elementos desde datos
externos o aplicativos.
Para el trabajo de los vectores se presentarán algunas ayudas importantes para su manejo, a saber:
MATLAB reconoce los vectores si son escritos solamente entre corchetes ([ ]).
Si los elementos del vector poseen decimales dicha nomenclatura debe trabajarse con punto
(.) y la separación entre las posiciones con coma (,) o espacios en blanco ( ).
Para escribir un vector columna los elementos presentes dentro de la escritura deben ser
separados por punto y coma (;); o simplemente con escribir el vector fila y agregar una
comilla (‘) al final el arreglo se traspone.
Si se quisiera conocer la posición de algún elemento dentro del vector, bastaría copiar el
nombre del vector y entre paréntesis la posición solicitada (V(posición)).
Para que MATLAB genere un vector se deben conocer 3 aspectos del vector: el valor
inicial, el espaciado entre los valores y el valor final.
MATLAB también permite generar un vector logarítmicamente espaciado entre los valores
10a y 10b con c elementos como: logspace (a, b, c). Si no se le asigna la cantidad de
elementos MATLAB genera internamente 50 posiciones dentro del vector final.
Si dentro del arreglo del vector se quisiera conocer la última posición, bastaría con escribir:
V (end).
Para mostrar varios valores de un vector específico, en una posición específica se escribe:
V ( [posición1 posición 2 …] )
Si algún elemento del vector se quisiera cambiar, bastará simplemente con renombrar la
posición en el arreglo así: V (posición) = nuevo valor
Al igual que en los vectores, si se quiere implementar una matriz conocida para su trabajo
dentro de MATLAB, se debe introducir fila a fila los elementos característicos comenzando
por los corchetes de agrupamiento [ ], separando sus elementos por espacios en blanco ( )
o comas (,) y diferenciando fila a fila por puntos y coma (;)
El orden mediante el cual se podrá llamar algún elemento de la matriz característica es:
M (fila, columna), M (fila, columna, espacio)
Nota: si dentro del paréntesis de llamado se escriben dos puntos (:), MATLAB lo interpreta como
si fueran todos los elementos, sea de la fila, la columna o el espacio.
Para eliminar alguna fila o columna completa de una matriz, se hará uso de la “matriz
vacía” [ ], así: M ( : (fila a quitar), columna) = [ ], M ( fila, : (columna a quitar)) = [ ]
Para obtener una submatriz: Nombre de la submatriz = M (rango fila, rango columna)
La dimensión de una matriz puede obtenerse con el comando size(M). Dado que conocer
la cantidad de filas y columnas en un arreglo es demasiado importante para la
programación, se pueden guardar dichos valores así: [ f, c ] = size(M), siendo f la cantidad
de filas y c la cantidad de columnas
Para convertir una matriz en vector columna: Nombre del vector columna = M (:)
Nota: si no se quisiera como vector columna sino fila, simplemente con agregar la comilla (‘) al
final de Matriz (:) el vector generado se traspone.
Dado que con las matrices es posible realizar múltiples operaciones, en la tabla 3 se
destacan algunas de ellas a saber:
Tabla 3. Operaciones en Matlab para matrices
Operación Argumento para MATLAB
Suma de matrices A+B
Diferencia de matrices A-B
Producto de matrices A*B
Producto de la matriz A por si misma A^2
A-1 B A\B
A B-1 A/B
Producto componente a componente de matrices A .* B
Cuadrado componente a componente de matrices A .^2
División componente a componente de matrices A ./ B
Traspuesta de A A’
Para la manipulación de matrices de una manera más sencilla, MATLAB facilita algunas
funciones, consignadas en la tabla 4 así:
Función en
Finalidad
MATLAB
Generar una matriz n*n de ceros zeros(n)
Generar una matriz de n*m de ceros zeros(n,m)
Generar una matriz n*n de unos ones(n)
Generar una matriz de n*m de unos ones(n,m)
Generar una matriz identidad eye(n)
Generar una matriz n*m con unos en la diagonal principal y el resto lleno de ceros eye(n,m)
Generar una matriz diagonal con un vector previamente establecido diag(V)
Generar una matriz diagonal con un vector previamente establecido corrido n columnas diag(V,n)
Determinante de una matriz M det(M)
Descubrir la inversa de una matriz M cuadrada inv(M)
Valores propios de una matriz M eig(M)
Sumar los valores de la diagonal trace(M)
Hallar el rango de la matriz M rank(M)
Generar una matriz de tamaño n*m con elementos aleatorios entre 0 y 1 rand(n,m)
Generar una matriz cuadrada n*n de forma que sumen lo mismos las filas y las columnas magic(n)
Determinar el número máximo en una matriz M max(max(M))
Determinar el número mínimo en una matriz M min(min(M))
Calcular la norma de una matriz M norm(M)
Ortogonalizar una matriz M orth(M)
Eliminación Gaussiana de una matriz M rref(M)
Generar la matriz triangular inferior a partir de la matriz M tril(M)
Generar la matriz triangular superior a partir de la matriz M triu(M)
Mostrar los elementos de una matriz diferentes de 0 en un vector columna find(M)
Intercambiar la matriz de izquierda a derecha fliplr(M)
Intercambiar la matriz M de arriba hacia abajo flipud(M)
Girar la matriz M 90° en sentido contrario a las agujas del reloj rot90(M)
Girar la matriz M n*90°, siendo n un número entero rot90(M,n)
Generar la matriz exponencial de M expm(M)
Generar la matriz logarítmica de M logm(M)
Generar la matriz de raíces cuadradas de M sqrtm(M)
Evaluar una función cualquiera en la matriz M funm(M,@función)