Como criar e acessar uma matriz multidimensional em matlab

MATLAB fornece um número de maneiras em que para criar arrays multidimensionais. O primeiro método é simplesmente dizer MATLAB para criá-lo para você e encher cada um dos elementos com zeros.

Criando uma matriz multidimensional

o zeros () função ajuda você a executar esta tarefa. Para criar uma matriz 2 x 3 x 3, você digita aj = zeros (2, 3, 3) e pressione Enter. Você vê o seguinte resultado:

Video: Matlab | Aula 2 - Matrizes e vetores

aj (:,:, 1) = 0 0 00 0 0AJ (:,:, 2) = 0 0 00 0 0AJ (:,:, 3) = 0 0 00 0 0

Esta saída diz que há três empilhadas 2 x 3 matrizes e cada um é preenchido com zeros. Claro, você não pode querer começar com uma matriz que é preenchido com zeros, então você pode usar uma outra abordagem. Os passos seguintes ajudá-lo a criar uma matriz 2 x 3 x 3 que já está preenchido com dados:

  1. Tipo ak (:,:, 1) = [1, 2, 3- 4, 5, 6] e pressione a tecla Enter.

    Você vê o seguinte resultado:

    ak = 1 2 34 5 6

    Este passo cria a primeira página da matriz tridimensional. Você quer três páginas, então você realmente precisa para executar este passo três vezes.

    Video: [Matlab] Aula 03 - Criando Matrizes

  2. Tipo ak (:,:, 2) = [7, 8, 9 e 10, 11, 12] e pressione a tecla Enter.

    MATLAB adiciona outra página, como mostrado:

    ak (:,:, 1) = 1 2 34 5 6AK (:,:, 2) = 7 910 8 11 12

    Se você olhar para a janela do Workspace, neste ponto, você vê que a coluna tamanho para ak agora é 2 x 3 x 2. É neste ponto que você vê a terceira dimensão adicional. Antes que você adicionou esta segunda página, MATLAB simplesmente tratados ak como uma matriz de 2 x 3, mas agora tem o terceiro conjunto dimensão.

  3. Tipo ak (:,:, 3) = [13, 14, 15- 16, 17, 18] e pressione a tecla Enter.

    A saída agora se parece muito com o aj de saída, excepto que os elementos têm valores, como mostrado a seguir:

ak (:,:, 1) = 1 2 34 5 6AK (:,:, 2) = 7 910 8 11 12ak (:,:, 3) = 13 14 1516 17 18

Você não tem que definir valores atribuídos utilizando múltiplos passos. o gato() função permite-lhe criar a matriz tridimensional inteira em uma única etapa. A primeira entrada que você faz para o gato() função é o número de dimensões. Em seguida, adicione os dados para cada dimensão, separados por vírgulas.

Para ver como isso funciona, tipo al = gato (3, [1, 2, 3- 4, 5, 6], [7, 8, 9 e 10, 11, 12], [13, 14, 15- 16, 17, 18]) e pressione Enter. Você vê esta saída (que se parece incrivelmente como o ak matriz):



al (:,:, 1) = 1 2 34 5 6Al (:,:, 2) = 7 910 8 11 12al (:,:, 3) = 13 14 1516 17 18

Você também pode decidir que você não quer digitar muito, mas ainda não quer zeros na matriz. Neste caso, use o randn () função para aleatórios dados com distribuição normal ou o rand () função de dados distribuídos uniformemente. Esta função funciona exatamente como o zeros () função, mas enche os elementos com dados aleatórios.

Para ver como essa função funciona, tipo AM = randn (2, 3, 3) e pressione Enter. Você vê uma matriz tridimensional preenchido com dados aleatórios. Não é provável que sua saída será precisamente como o seguinte resultado, mas a saída a seguir fornece uma idéia do que você deve esperar:

am (:,:, 1) = 1,4090 0,6715 0.71721.4172 -1,2075 1.6302am (:,:, 2) = 0,4889 0,7269 0.29391.0347 -0,3034 -0.7873am (:,:, 3) = 0,8884 -1,0689 -2.9443- 1,1471 -0,8095 1,4384

Aceder a uma matriz multidimensional

Não importa como você criar a matriz, eventualmente você precisar acessá-lo. Para aceder a toda a matriz, você simplesmente usar o nome da matriz, como de costume. No entanto, você pode não precisar acessar toda a matriz.

Por exemplo, talvez você precise acessar apenas uma página. Estes exemplos assumem que você criou matriz ak. Para ver apenas a segunda página de matriz ak, você digita ak (:,:, 2) e pressione Enter. Não surpreendentemente, você vê a segunda página, como mostrado aqui:

ans = 7 8 910 11 12

Os dois pontos (:) Fornece um meio para você dizer MATLAB que deseja toda a gama de um elemento de matriz. Os valores são linhas, colunas e páginas neste caso. Assim, o pedido que você fez foi para toda a gama de página 2. Você poderia pedir apenas uma linha ou coluna. Para obter a segunda linha da página 2, você digita ak (2,:, 2) e pressione Enter.

A saída parecido com este:

ans = 10 11 12

A segunda coluna da página 2 é tão fácil. Neste caso, você digita ak (:, 2, 2) e pressione Enter. A saída aparece em formato de coluna, como este:

ans = 811

Aceder a um valor indivíduo significa proporcionar todos os três valores. Quando você digita ak (2, 2, 2) e pressione Enter, você recebe 11 como a saída porque esse é o valor na linha 2, coluna 2, da página 2 para a matriz ak.

Você também tem acesso a seleções alcance para matrizes multidimensionais. Neste caso, você deve fornecer um intervalo para uma das entradas. Por exemplo, se você deseja obter o acesso para a linha 2, colunas 1 e 2, da página 2 para a matriz ak, você digita ak (2, [1: 2], 2) e pressione Enter.

Note-se que a gama aparece dentro de parêntesis rectos, e o início e o fim do intervalo são separados por dois pontos. Aqui é a saída que você vê neste caso:

Video: Matlab Tutorials: How to use multidimensional/ 3-D array in matlab

ans = 10 11

O uso de faixas funciona onde quer que você precisar deles. Por exemplo, digamos que você quer linhas 1 e 2, colunas 1 e 2, da página 2. Tipo de Você ak ([1: 2], [1: 2], 2) e pressione Enter. O resultado se parece com isso:

ans = 7 810 11

Publicações relacionadas