Arrays de Células no Octave
Na aula de hoje, vamos desvendar o mundo dos arrays de células no Octave, entender como criá-los e como utilizá-los.
Primeiramente, cabe a pergunta: o que seria um array de células? Trata-se de uma estrutura especial de array que consegue abrigar outros arrays em seu interior. Cada elemento deste array de células recebe o nome de célula, e é importante ressaltar que cada célula tem a capacidade de conter um array de tipo distinto - por exemplo, numérico ou alfanumérico. Contudo, é fundamental que cada array individualmente mantido no interior do array de células seja composto por elementos do mesmo tipo de dado.
Como Iniciar um Array de Células
Para dar início a um novo array de células, utilizamos a função cell(m,n), sendo que m e n representam o número de linhas e colunas do array de células, respectivamente.
Veja como isso funciona na prática.
Ao digitarmos cell(3,3), criamos um array de células 3x3 na variável myVar.
>> myVar=cell(3,3)
myVar =
{
[1,1] = [ ](0x0)
[2,1] = [ ](0x0)
[3,1] = [ ](0x0)
[1,2] = [ ](0x0)
[2,2] = [ ](0x0)
[3,2] = [ ](0x0)
[1,3] = [ ](0x0)
[2,3] = [ ](0x0)
[3,3] = [ ](0x0)
}
Vale lembrar que, ao criarmos um array de células, todas as células são inicializadas vazias.
Outra forma de criar um array de células é especificando os dados de cada célula entre chaves.
>> A={"Math", "Latin", "Science"; 27, 30, 18}
A =
{
[1,1] = Math
[2,1] = 27
[1,2] = Latin
[2,2] = 30
[1,3] = Science
[2,3] = 18
}
Inserir Arrays em um Array de Células
Após a criação do array de células, podemos inserir arrays em suas células.
Por exemplo, se digitarmos myVar(1,1)=([1 2;3 4]), iremos armazenar o array [1 2; 3 4] na célula (1,1).
>> myVar(1,1)=([1 2;3 4])
myVar =
{
[1,1] =
1 2
3 4
[2,1] = [ ](0x0)
[3,1] = [ ](0x0)
[1,2] = [ ](0x0)
[2,2] = [ ](0x0)
[3,2] = [ ](0x0)
[1,3] = [ ](0x0)
[2,3] = [ ](0x0)
[3,3] = [ ](0x0)
}
Em seguida, ao digitarmos myVar(1,3)=(['A' 'B' 'C' 'D']), inserimos o array ['A' 'B' 'C'] na célula (1,3).
>> myVar(1,3)=(['A' 'B' 'C' 'D'])
myVar =
{
[1,1] =
1 2
3 4
[2,1] = [ ](0x0)
[3,1] = [ ](0x0)
[1,2] = [ ](0x0)
[2,2] = [ ](0x0)
[3,2] = [ ](0x0)
[1,3] = ABCD
[2,3] = [ ](0x0)
[3,3] = [ ](0x0)
}
O array de células agora é composto por dois arrays, cada um com dimensões e tipos de dados distintos: um array numérico e um array alfanumérico.
Observação: quando você insere arrays nas células, não é necessário seguir uma ordem específica. Você pode inserir arrays em qualquer célula à sua escolha, e as demais células que não contiverem arrays continuarão vazias.
Acessar o Conteúdo das Células
Podemos acessar o conteúdo de cada célula especificando suas coordenadas (linha, coluna) entre parênteses.
Por exemplo, ao digitarmos myVar(1,3), acessamos o conteúdo da célula (1,3).
>> myVar(1,3)
ans =
{
[1,1] = ABCD
}
A técnica de fatiamento também pode ser empregada para selecionar múltiplas células simultaneamente.
Como exemplo, ao digitarmos myVar(1:2,1:2), selecionamos as duas primeiras linhas e colunas do array de células.
>> myVar(1:2,1:2)
ans =
{
[1,1] =
1 2
3 4
[2,1] = [](0x0)
[1,2] = [](0x0)
[2,2] = [](0x0)
}
O comando acima selecionou quatro células.
Por meio deste método, é possível selecionar várias células ao mesmo tempo.
Visualizar um Array de Células
Para visualizar o conteúdo de um array de células, utilizamos a função celldisp().
Por exemplo, ao digitarmos celldisp(myVar), exibiremos o array de células contido na variável myVar.
>> celldisp(myVar)
myVar{1,1} =
1 2
3 4
myVar{2,1} = [ ](0x0)
myVar{3,1} = [ ](0x0)
myVar{1,2} = [ ](0x0)
myVar{2,2} = [ ](0x0)
myVar{3,2} = [ ](0x0)
myVar{1,3} = ABCD
myVar{2,3} = [ ](0x0)
myVar{3,3} = [ ](0x0)
Com isso, você acaba de aprender como manusear arrays de células no Octave, uma habilidade importante que certamente será útil em sua jornada como programador.