Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> MATLAB

MATLAB - Matrizes


Todas as variáveis ​​de todos os tipos de dados no MATLAB são arrays multidimensionais. Um vetor é um array unidimensional e uma matriz é um array bidimensional.

Já discutimos vetores e matrizes. Neste capítulo, discutiremos arrays multidimensionais. No entanto, antes disso, vamos discutir alguns tipos especiais de arrays.

Matrizes especiais no MATLAB


Nesta seção, discutiremos algumas funções que criam alguns arrays especiais. Para todas essas funções, um único argumento cria uma matriz quadrada, argumentos duplos criam uma matriz retangular.

Os zeros() função cria uma matriz de todos os zeros -

Por exemplo -
Demonstração ao vivo
zeros(5)

O MATLAB executará a instrução acima e retornará o seguinte 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

Os os() função cria um array de todos os −

Por exemplo -
Demonstração ao vivo
ones(4,3)

O MATLAB executará a instrução acima e retornará o seguinte resultado -
ans =
      1     1     1
      1     1     1
      1     1     1
      1     1     1

O olho() A função cria uma matriz identidade.

Por exemplo -
Demonstração ao vivo
eye(4)

O MATLAB executará a instrução acima e retornará o seguinte resultado -
ans =
      1     0     0     0
      0     1     0     0
      0     0     1     0
      0     0     0     1

O rand() A função cria uma matriz de números aleatórios uniformemente distribuídos em (0,1) −

Por exemplo -
Demonstração ao vivo
rand(3, 5)

O MATLAB executará a instrução acima e retornará o seguinte 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

Um quadrado mágico


Um quadrado mágico é um quadrado que produz a mesma soma, quando seus elementos são somados por linha, coluna ou diagonal.

A mágica() A função cria uma matriz quadrada mágica. Leva um argumento singular que dá o tamanho do quadrado. O argumento deve ser um escalar maior ou igual a 3.
Demonstração ao vivo
magic(4)

O MATLAB executará a instrução acima e retornará o seguinte resultado -
ans =
   16     2     3    13
   5    11    10     8
   9     7     6    12
   4    14    15     1

Matrizes multidimensionais


Um array com mais de duas dimensões é chamado de array multidimensional no MATLAB. Arrays multidimensionais no MATLAB são uma extensão da matriz bidimensional normal.

Geralmente, para gerar um array multidimensional, primeiro criamos um array bidimensional e o estendemos.

Por exemplo, vamos criar um array bidimensional a.
Demonstração ao vivo
a = [7 9 5; 6 1 9; 4 3 2]

O MATLAB executará a instrução acima e retornará o seguinte resultado -
a =
   7     9     5
   6     1     9
   4     3     2

A matriz a é uma matriz de 3 por 3; podemos adicionar uma terceira dimensão a a , fornecendo os valores como -
Demonstração ao vivo
a(:, :, 2)= [ 1 2 3; 4 5 6; 7 8 9]

O MATLAB executará a instrução acima e retornará o seguinte resultado -
a =

ans(:,:,1) =

   0   0   0
   0   0   0
   0   0   0

ans(:,:,2) =

   1   2   3
   4   5   6
   7   8   9

Também podemos criar arrays multidimensionais usando as funções ones(), zeros() ou rand().

Por exemplo,
Demonstração ao vivo
b = rand(4,3,2)

O MATLAB executará a instrução acima e retornará o seguinte 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

Também podemos usar o cat() função para construir arrays multidimensionais. Ele concatena uma lista de arrays ao longo de uma dimensão especificada -

A sintaxe para a função cat() é −
B = cat(dim, A1, A2...)

Onde,

Exemplo


Crie um arquivo de script e digite o seguinte código nele -
Demonstração ao 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])

Quando você executa o arquivo, ele exibe -
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

Funções de matriz


O MATLAB fornece as seguintes funções para classificar, girar, permutar, remodelar ou deslocar o conteúdo da matriz.
Função Propósito
comprimento Comprimento do vetor ou maior dimensão da matriz
ndims Número de dimensões da matriz
numel Número de elementos da matriz
tamanho Dimensões da matriz
iscolumn Determina se a entrada é um vetor de coluna
vazio Determina se o array está vazio
ismatrix Determina se a entrada é matriz
isrow Determina se a entrada é um vetor de linha
isscalar Determina se a entrada é escalar
isvetor Determina se a entrada é vetorial
blkdiag Construi matriz diagonal de bloco a partir de argumentos de entrada
circshift Desloca a matriz circularmente
ctranspose Transposição conjugada complexa
diag Matrizes diagonais e diagonais de matriz
flipdim Vira a matriz ao longo da dimensão especificada
fliplr Vira a matriz da esquerda para a direita
flipud Vira a matriz de cima para baixo
ipermute Inverte dimensões de permuta da matriz N-D
permutar Reorganiza as dimensões da matriz N-D
repmat Réplicas e matriz de blocos
reformar Reforma a matriz
rot90 Gira a matriz 90 graus
shiftdim Dimensões dos turnos
sortido Determina se os elementos do conjunto estão em ordem de classificação
classificar Classifica os elementos do array em ordem crescente ou decrescente
classificar Classifica as linhas em ordem crescente
apertar Remove dimensões singleton
transpor Transpor
vetorizar Vetoriza a expressão

Exemplos


Os exemplos a seguir ilustram algumas das funções mencionadas acima.

Comprimento, Dimensão e Número de elementos −

Crie um arquivo de script e digite o seguinte código nele -
Demonstração ao 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

Quando você executa o arquivo, ele exibe o seguinte resultado -
ans =  8
ans =  4
ans =  23

Deslocamento Circular dos Elementos da Matriz −

Crie um arquivo de script e digite o seguinte código nele -
Demonstração ao 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.

Quando você executa o arquivo, ele exibe o seguinte 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

Classificando Matrizes


Crie um arquivo de script e digite o seguinte código nele -
Demonstração ao 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

Quando você executa o arquivo, ele exibe o seguinte 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 células


Matrizes de células são matrizes de células indexadas onde cada célula pode armazenar uma matriz de diferentes dimensões e tipos de dados.

A célula A função é usada para criar uma matriz de células. A sintaxe para a função da célula é -
C = cell(dim)
C = cell(dim1,...,dimN)
D = cell(obj)

Onde,

Exemplo


Crie um arquivo de script e digite o seguinte código nele -
Demonstração ao vivo
c = cell(2, 5);
c = {'Red', 'Blue', 'Green', 'Yellow', 'White'; 1 2 3 4 5}

Quando você executa o arquivo, ele exibe o seguinte 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
}

Acessando dados em matrizes de células


Existem duas maneiras de se referir aos elementos de uma matriz de células -

Quando você coloca os índices no primeiro colchete, ele se refere ao conjunto de células.

Índices de matriz de células em parênteses suaves referem-se a conjuntos de células.

Por exemplo -
Demonstração ao vivo
c = {'Red', 'Blue', 'Green', 'Yellow', 'White'; 1 2 3 4 5};
c(1:2,1:2)

O MATLAB executará a instrução acima e retornará o seguinte resultado -
ans = 
{
   [1,1] = Red
   [2,1] =  1
   [1,2] = Blue
   [2,2] =  2
}

Você também pode acessar o conteúdo das células indexando com chaves.

Por exemplo -
Demonstração ao vivo
c = {'Red', 'Blue', 'Green', 'Yellow', 'White'; 1 2 3 4 5};
c{1, 2:4}

O MATLAB executará a instrução acima e retornará o seguinte resultado -
ans = Blue
ans = Green
ans = Yellow

MATLAB

  1. Matrizes C#
  2. Matriz irregular em C#
  3. Copiar Matrizes Java
  4. Matrizes em C++ | Declare | Inicializar | Ponteiro para exemplos de matriz
  5. Alocação dinâmica de matrizes em C++ com exemplo
  6. MATLAB - Visão geral
  7. MATLAB - Variáveis
  8. MATLAB - Comandos
  9. MATLAB - Matriz
  10. MATLAB - Números