Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> MATLAB

MATLAB - Matrices

Todas las variables de todos los tipos de datos en MATLAB son matrices multidimensionales. Un vector es un arreglo unidimensional y una matriz es un arreglo bidimensional.

Ya hemos discutido vectores y matrices. En este capítulo, discutiremos arreglos multidimensionales. Sin embargo, antes de eso, analicemos algunos tipos especiales de arreglos.

Matrices especiales en MATLAB

En esta sección, discutiremos algunas funciones que crean algunos arreglos especiales. Para todas estas funciones, un solo argumento crea una matriz cuadrada, los argumentos dobles crean una matriz rectangular.

Los ceros() la función crea una matriz de todos los ceros −

Por ejemplo −

Demostración en vivo
zeros(5)

MATLAB ejecutará la instrucción anterior y devolverá el siguiente resultado −

ans =
      0     0     0     0     0
      0     0     0     0     0
      0     0     0     0     0
      0     0     0     0     0
      0     0     0     0     0

Los unos() la función crea una matriz de todos unos −

Por ejemplo −

Demostración en vivo
ones(4,3)

MATLAB ejecutará la instrucción anterior y devolverá el siguiente resultado −

ans =
      1     1     1
      1     1     1
      1     1     1
      1     1     1

El ojo() función crea una matriz de identidad.

Por ejemplo −

Demostración en vivo
eye(4)

MATLAB ejecutará la instrucción anterior y devolverá el siguiente resultado −

ans =
      1     0     0     0
      0     1     0     0
      0     0     1     0
      0     0     0     1

El rand() La función crea una matriz de números aleatorios uniformemente distribuidos en (0,1) −

Por ejemplo −

Demostración en vivo
rand(3, 5)

MATLAB ejecutará la instrucción anterior y devolverá el siguiente resultado −

ans =
   0.8147    0.9134    0.2785    0.9649    0.9572
   0.9058    0.6324    0.5469    0.1576    0.4854
   0.1270    0.0975    0.9575    0.9706    0.8003

Un Cuadrado Mágico

Un cuadrado mágico es un cuadrado que produce la misma suma, cuando sus elementos se suman por filas, por columnas o en diagonal.

La magia() La función crea una matriz de cuadrados mágicos. Se necesita un argumento singular que da el tamaño del cuadrado. El argumento debe ser un escalar mayor o igual a 3.

Demostración en vivo
magic(4)

MATLAB ejecutará la instrucción anterior y devolverá el siguiente resultado −

ans =
   16     2     3    13
   5    11    10     8
   9     7     6    12
   4    14    15     1

Matrices multidimensionales

Una matriz que tiene más de dos dimensiones se denomina matriz multidimensional en MATLAB. Los arreglos multidimensionales en MATLAB son una extensión de la matriz bidimensional normal.

Generalmente, para generar una matriz multidimensional, primero creamos una matriz bidimensional y la extendemos.

Por ejemplo, creemos una matriz bidimensional a.

Demostración en vivo
a = [7 9 5; 6 1 9; 4 3 2]

MATLAB ejecutará la instrucción anterior y devolverá el siguiente resultado −

a =
   7     9     5
   6     1     9
   4     3     2

La matriz a es una matriz de 3 por 3; podemos agregar una tercera dimensión a a , proporcionando los valores como −

Demostración en vivo
a(:, :, 2)= [ 1 2 3; 4 5 6; 7 8 9]

MATLAB ejecutará la instrucción anterior y devolverá el siguiente resultado −

a =

ans(:,:,1) =

   0   0   0
   0   0   0
   0   0   0

ans(:,:,2) =

   1   2   3
   4   5   6
   7   8   9

También podemos crear arreglos multidimensionales usando las funciones ones(), zeros() o rand().

Por ejemplo,

Demostración en vivo
b = rand(4,3,2)

MATLAB ejecutará la instrucción anterior y devolverá el siguiente resultado −

b(:,:,1) =
   0.0344    0.7952    0.6463
   0.4387    0.1869    0.7094
   0.3816    0.4898    0.7547
   0.7655    0.4456    0.2760

b(:,:,2) =
   0.6797    0.4984    0.2238
   0.6551    0.9597    0.7513
   0.1626    0.3404    0.2551
   0.1190    0.5853    0.5060

También podemos usar el gato() función para construir arreglos multidimensionales. Concatena una lista de matrices a lo largo de una dimensión específica −

La sintaxis de la función cat() es −

B = cat(dim, A1, A2...)

donde,

Ejemplo

Cree un archivo de script y escriba el siguiente código en él −

Demostración en vivo
a = [9 8 7; 6 5 4; 3 2 1];
b = [1 2 3; 4 5 6; 7 8 9];
c = cat(3, a, b, [ 2 3 1; 4 7 8; 3 9 0])

Cuando ejecuta el archivo, muestra −

c(:,:,1) =
      9     8     7
      6     5     4
      3     2     1
c(:,:,2) =
      1     2     3
      4     5     6
      7     8     9
c(:,:,3) =
      2     3     1
      4     7     8
      3     9     0

Funciones de matriz

MATLAB proporciona las siguientes funciones para ordenar, rotar, permutar, remodelar o cambiar el contenido de la matriz.

Función Propósito
longitud Longitud del vector o dimensión de matriz más grande
ndims Número de dimensiones de matriz
número Número de elementos de matriz
tamaño Dimensiones de matriz
iscolumna Determina si la entrada es un vector de columna
está vacío Determina si la matriz está vacía
matriz Determina si la entrada es matriz
isrow Determina si la entrada es un vector de fila
escalar Determina si la entrada es escalar
esvector Determina si la entrada es vectorial
blkdiag Construye matriz diagonal de bloques a partir de argumentos de entrada
circshift Desplaza la matriz circularmente
ctransposición Transpuesta conjugada compleja
diag Matrices diagonales y diagonales de matriz
flipdim Voltea la matriz a lo largo de la dimensión especificada
fliplr Voltea la matriz de izquierda a derecha
flipud Voltea la matriz de arriba hacia abajo
ipermute Dimensiones permutadas inversas de matriz N-D
permutar Reorganiza las dimensiones de la matriz N-D
repmat Replicas y matriz de teselas
reformar Remodela matriz
rot90 Gira la matriz 90 grados
shiftdim Desplaza las dimensiones
clasificado Determina si los elementos del conjunto están ordenados
ordenar Ordena los elementos de la matriz en orden ascendente o descendente
sortrows Ordena las filas en orden ascendente
apretar Elimina dimensiones singleton
transponer Transponer
vectorizar Vectoriza la expresión

Ejemplos

Los siguientes ejemplos ilustran algunas de las funciones mencionadas anteriormente.

Longitud, Dimensión y Número de elementos −

Cree un archivo de script y escriba el siguiente código en él −

Demostración en vivo
x = [7.1, 3.4, 7.2, 28/4, 3.6, 17, 9.4, 8.9];
length(x)      % length of x vector
y = rand(3, 4, 5, 2);
ndims(y)       % no of dimensions in array y
s = ['Zara', 'Nuha', 'Shamim', 'Riz', 'Shadab'];
numel(s)       % no of elements in s

Cuando ejecuta el archivo, muestra el siguiente resultado −

ans =  8
ans =  4
ans =  23

Desplazamiento circular de los elementos del arreglo −

Cree un archivo de script y escriba el siguiente código en él −

Demostración en vivo
a = [1 2 3; 4 5 6; 7 8 9]  % the original array a
b = circshift(a,1)         %  circular shift first dimension values down by 1.
c = circshift(a,[1 -1])    % circular shift first dimension values % down by 1 
                           % and second dimension values to the left % by 1.

Cuando ejecuta el archivo, muestra el siguiente resultado −

a =
   1     2     3
   4     5     6
   7     8     9

b =
   7     8     9
   1     2     3
   4     5     6

c =
   8     9     7
   2     3     1
   5     6     4

Ordenar matrices

Cree un archivo de script y escriba el siguiente código en él −

Demostración en vivo
v = [ 23 45 12 9 5 0 19 17]  % horizontal vector
sort(v)                      % sorting v
m = [2 6 4; 5 3 9; 2 0 1]    % two dimensional array
sort(m, 1)                   % sorting m along the row
sort(m, 2)                   % sorting m along the column

Cuando ejecuta el archivo, muestra el siguiente resultado −

v =
   23    45    12     9     5     0    19    17
ans =
   0     5     9    12    17    19    23    45
m =
   2     6     4
   5     3     9
   2     0     1
ans =
   2     0     1
   2     3     4
   5     6     9
ans =
   2     4     6
   3     5     9
   0     1     2

Matriz de celdas

Los arreglos de celdas son arreglos de celdas indexadas donde cada celda puede almacenar un arreglo de diferentes dimensiones y tipos de datos.

La celda La función se utiliza para crear una matriz de celdas. La sintaxis de la función de celda es −

C = cell(dim)
C = cell(dim1,...,dimN)
D = cell(obj)

Dónde,

Ejemplo

Cree un archivo de script y escriba el siguiente código en él −

Demostración en vivo
c = cell(2, 5);
c = {'Red', 'Blue', 'Green', 'Yellow', 'White'; 1 2 3 4 5}

Cuando ejecuta el archivo, muestra el siguiente resultado −

c = 
{
   [1,1] = Red
   [2,1] =  1
   [1,2] = Blue
   [2,2] =  2
   [1,3] = Green
   [2,3] =  3
   [1,4] = Yellow
   [2,4] =  4
   [1,5] = White
   [2,5] =  5
}

Acceso a datos en matrices de celdas

Hay dos formas de referirse a los elementos de una matriz de celdas:

Cuando encierra los índices en el primer paréntesis, se refiere al conjunto de celdas.

Los índices de matriz de celdas entre paréntesis suaves se refieren a conjuntos de celdas.

Por ejemplo −

Demostración en vivo
c = {'Red', 'Blue', 'Green', 'Yellow', 'White'; 1 2 3 4 5};
c(1:2,1:2)

MATLAB ejecutará la instrucción anterior y devolverá el siguiente resultado −

ans = 
{
   [1,1] = Red
   [2,1] =  1
   [1,2] = Blue
   [2,2] =  2
}

También puede acceder al contenido de las celdas indexando con llaves.

Por ejemplo −

Demostración en vivo
c = {'Red', 'Blue', 'Green', 'Yellow', 'White'; 1 2 3 4 5};
c{1, 2:4}

MATLAB ejecutará la instrucción anterior y devolverá el siguiente resultado −

ans = Blue
ans = Green
ans = Yellow

MATLAB

  1. Matrices de C#
  2. Matriz irregular de C#
  3. Matrices de copia de Java
  4. Matrices en C++ | Declarar | Inicializar | Ejemplos de puntero a matriz
  5. C++ Asignación dinámica de arreglos con ejemplo
  6. MATLAB - Descripción general
  7. MATLAB-Variables
  8. MATLAB - Comandos
  9. MATLAB - Matriz
  10. MATLAB-Números
  11. MATLAB - Cadenas