Converter matrizes em arrays de células no Matlab
Ao trabalhar com matrizes no Matlab e buscar convertê-las em arrays de células, a função num2cell() se apresenta como uma solução elegante e eficaz.
num2cell(M)
Essa função aceita uma matriz ou vetor (M) como parâmetro, gerando um array de células que preserva os dados originais da matriz.
O parâmetro M da função pode ser uma matriz ou um vetor.
Observação. Pode-se considerar a utilização da função mat2cell(), porém, na prática, os resultados obtidos com ela diferem ligeiramente.
Para exemplificar, imagine uma matriz 2x3, com duas linhas e três colunas. Você pode criar essa matriz no Matlab da seguinte maneira:
>> M=[1 2; 3 4; 5 6]
M =
1 2
3 4
5 6
Para convertê-la em um array de células, basta digitar num2cell(M).
>> A=num2cell(M)
A =
{
[1,1] = 1
[2,1] = 3
[3,1] = 5
[1,2] = 2
[2,2] = 4
[3,2] = 6
}
Com isso, obterá um array de células onde cada célula contém um elemento da matriz original.
Como alternativa, a função mat2cell() permite especificar a quantidade de linhas e colunas da matriz.
Por exemplo, ao digitar mat2cell(M,3,2), o resultado seria:
>> C=mat2cell(M,3,2)
C =
{
[1,1] =
1 2
3 4
5 6
}
Neste caso, a matriz inteira é armazenada em uma única célula do array.
Assim, a num2cell() se revela uma ferramenta prática e eficiente para a conversão de matrizes em arrays de células no ambiente Matlab.