Converter uma matriz em um array de células no Octave
Nesta lição, vou lhe mostrar como transformar uma matriz em um array de células no Octave, utilizando a função num2cell().
num2cell(M)
Aqui, o parâmetro M pode ser tanto uma matriz quanto um vetor (array).
O resultado dessa função é um array de células que contém os mesmos dados.
Importante: É possível também utilizar a função mat2cell(M,r,c). Contudo, neste caso, é necessário especificar o número de linhas e colunas. O resultado final não será o mesmo.
Permita-me ilustrar com um exemplo prático.
Primeiro, vamos criar uma matriz 2x3.
>> M=[1 2; 3 4; 5 6]
M =
1 2
3 4
5 6
Agora, digite num2cell(M) para transformar a matriz em um array de células.
>> A=num2cell(M)
A =
{
[1,1] = 1
[2,1] = 3
[3,1] = 5
[1,2] = 2
[2,2] = 4
[3,2] = 6
}
O que a função faz é criar um array de células 2x3 que contém os mesmos dados da matriz original.
Como alternativa, você pode usar a função mat2cell(M,r,c), onde r e c representam o número de linhas e colunas.
Digite mat2cell(M,3,2)
>> C=mat2cell(M,3,2)
C =
{
[1,1] =
1 2
3 4
5 6
}
Neste caso específico, o array está contido em uma única célula.