
Gli array di celle su Matlab
In questa lezione ti spiego come usare gli array di celle (cell array) in Matlab
Cos'è un array di celle? Gli array di celle sono array in cui ogni elemento, detto "cella", memorizza all'interno un altro array. In pratica è un array di array. All'interno dell'array gli elementi devono essere dello stesso tipo. Tuttavia, le celle possono contenere anche array con diversi tipi di dati.
Come creare un array di celle
Per creare un array di celle usa la funzione cell(m,n)
Dove m e n sono il numero di righe e di colonne dell'array di celle.
Ad esempio, digita cell(3,3)
>> myVar=cell(3,3)
myVar =
3×3 cell array
{0×0 double} {0×0 double} {0×0 double}
{0×0 double} {0×0 double} {0×0 double}
{0×0 double} {0×0 double} {0×0 double}
La funzione cell(3,3) crea un array di celle 3x3 con 3 righe e 3 colonne e lo assegna alla variabile myVar.
Inizialmente tutte le celle sono vuote.
In alternativa, puoi anche definire l'array di celle indicando i dati delle celle tra parentesi graffe.
>> A={"Matematica", "Latino", "Scienze"; 27, 30, 18}
A =
2×3 cell array
{["Matematica"]} {["Latino"]} {["Scienze"]}
{[ 27]} {[ 30]} {[ 18]}
Come inserire gli array in un array di celle
Per assegnare un array a una cella, scrivi il nome dell'array di celle e indica tra parentesi graffe il numero di riga e di colonna della cella.
Poi scrivi l'array che vuoi inserire nella cella dopo il simbolo uguale (=).
Ad esempio, digita myVar(1,1)={ [1 2;3 4] } per assegnare l'array [1 2; 3 4] alla cella (1,1)
>> myVar(1,1)={[1 2;3 4]}
myVar =
3×3 cell array
{2×2 double} {0×0 double} {0×0 double}
{0×0 double} {0×0 double} {0×0 double}
{0×0 double} {0×0 double} {0×0 double}
Ora digita myVar(1,3)={ ['A' 'B' 'C' 'D'] } per assegnare l'array ['A' 'B' 'C'] alla cella (1,3)
>> myVar(1,3)={['A' 'B' 'C' 'D']}
myVar =
3×3 cell array
{2×2 double} {0×0 double} {'ABCD' }
{0×0 double} {0×0 double} {0×0 double}
{0×0 double} {0×0 double} {0×0 double}
L'array di celle è composto da due array. Il tipo dati del primo array è numerico mentre quello del secondo array è alfanumerico.
Nota. Non occorre compilare tutte le celle, né seguire un ordine di riempimento. Le altre celle prive di array restano vuote.
Come accedere alle celle
Per leggere il contenuto di una cella digita il nome dell'array di celle indicando tra parentesi tonde il numero di riga e di colonna della cella.
Ad esempio, digita myVar(1,3) per leggere il contenuto della cella (1,3)
>> myVar(1,3)
ans =
1×1 cell array
{'ABCD'}
Nel caso degli array di celle le parentesi tonde sono usate per gli indici e le parentesi quadre per il contenuto.
Puoi anche usare lo slicing per selezionare più celle contemporaneamente.
Ad esempio, digita myVar(1:2,1:2) per selezionare le celle entro le prime due righe e colonne dell'array di celle.
>> myVar(1:2,1:2)
ans =
2×2 cell array
{2×2 double} {0×0 double}
{0×0 double} {0×0 double}
In questo modo puoi estrarre più dati dall'array di celle tramite un'unica selezione.
Come visualizzare l'array di celle
Per vedere tutto il contenuto dell’array di celle utilizza il comando celldisp()
Ad esempio digita celldisp(myVar) per visualizzare il contenuto dell'array di celle memorizzato nella variabile myVar
>> celldisp(myVar)
myVar{1,1} =
1 2
3 4
myVar{2,1} = [ ]
myVar{3,1} = [ ]
myVar{1,2} = [ ]
myVar{2,2} = [ ]
myVar{3,2} = [ ]
myVar{1,3} = ABCD
myVar{2,3} = [ ]
myVar{3,3} = [ ]
Puoi anche visualizzare il contenuto graficamente usando la funzione cellplot()
Ad esempio, digita cellplot(myVar)
>> cellplot(myVar)
Questa funzione visualizza il contenuto nell'array di celle tramite un'architettura grafica.
A questo punto dovresti sapere cosa sono e come si usano gli array di celle su Matlab.