Sunteți pe pagina 1din 4

Vectores y Matrices en Matlab - Guía de Apoyo

Zuluaga-Botero S, Gaviria G.H.

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 conocer el tamaño del vector ingresado, se tiene el comando length(V).

 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.

 Otra posibilidad de generar un vector es utilizando el comando linspace, usado como:


linspace (valor inicial, valor final, número de posiciones en el vector). Si al linspace no
se le asigna un número de posiciones, éste tomará 100 valores por definición.

 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.

 Para operar vectores se muestra un compendio de ayudas para su utilización en la tabla 1.


Tabla 1. Operaciones en Matlab para vectores
Operador con escalares
V es un vector (fila o columna) y K es un escalar
Operación Argumento para MATLAB
Suma V+K
Resta V–K
Multiplicación V*K
V/K
División
K ./ V
V .^ K
Potenciación
K .^ V
Operador entre vectores
V y W son dos vectores (fila o columna)
Operación Argumento para MATLAB
Suma V+W
Resta V-W
Multiplicación componente a componente V .* W
División componente a componente V ./ W
Potenciación componente a componente V .^ W

 Existen funciones específicas para los vectores como se muestra en la tabla 2:


Tabla 2. Funciones en Matlab para vectores
Función Finalidad
sum(V) Sumar los componentes del vector V
prod(V) Generar el producto de los componentes del vector V
dot(V,W) Hacer el producto escalar de V y W siempre y cuando tengan las mismas dimensiones
max(V) Determinar el número más grande del vector V
min(V) Determinar el número más pequeño del vector V
norm(V) Generar la norma del vector V
Nota: dado que en muchas ocasiones es importante saber el número mayor o menor de un vector
y su posición dentro del mismo, MATLAB permite determinarlo al asignar:

[Número máximo, posición en el vector] = max(V)


[Número mínimo, posición en el vector] = min(V)

 Si dentro del arreglo del vector se quisiera conocer la última posición, bastaría con escribir:
V (end).

 Para la inversión de un vector bastaría con escribir: V (end:-1:1)

 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

 Para generar un subvector: Nombre del subvector = V (rango del subvector)


Dado que la esencia de MATLAB es el trabajo de las matrices, a continuación, se presentarán
ayudas similares a las descritas previamente.

 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 unir vectores o matrices en un arreglo de la misma dimensión, se debe copiar:


Nombre de la matriz= [Vector columna Matriz; Vector fila]

 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.

 Si la matriz la contiene un documento de Excel y se quisiera cargar a MATLAB, se debe


tener en cuenta lo siguiente:

 MATLAB debe estar trabajando con la dirección de la carpeta en la que se


encuentra el archivo de Excel.
 Para llamar al documento se debe nombrar la matriz de trabajo, seguido del
comando xlsread (‘nombre del archivo.xlsx’, número de la hoja, ‘matriz’
(primera posición: última posición)).
 Si se quiere añadir al documento de Excel algunos cálculos realizados, en forma de
vector o matriz, se debe aplicar el comando:

xlswrite(‘nombre del archivo.xlsx’, variable , número hoja, ‘celda inicial’)

 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)

S-ar putea să vă placă și