Contenuto principale

cell

Descrizione

Un array di celle è un tipo di dati con contenitori di dati indicizzati chiamati celle, dove ciascuna cella può contenere qualsiasi tipo di dati. Gli array di celle contengono comunemente elenchi di testo, combinazioni di testo e numeri o array numerici di grandezze diverse. Il riferimento agli insiemi di celle si esegue racchiudendo gli indici tra parentesi tonde (). L'accesso ai contenuti delle celle si esegue tramite l'indicizzazione con parentesi graffe {}.

Creazione

Quando si dispone di dati da inserire in un array di celle, creare l'array utilizzando l'operatore di costruzione dell'array di celle {}.

C = {1,2,3;
     'text',rand(5,10,2),{11; 22; 33}}
C=2×3 cell array
    {[   1]}    {[          2]}    {[     3]}
    {'text'}    {5×10×2 double}    {3×1 cell}

È inoltre possibile utilizzare {} per creare un array di celle 0x0 vuoto.

C = {}
C =

  0×0 empty cell array

Per creare un array di celle con una grandezza specificata, utilizzare la funzione cell, descritta di seguito.

È possibile utilizzare cell per preallocare un array di celle a cui assegnare i dati successivamente. cell converte inoltre alcuni tipi di strutture dati Java®, .NET e Python® in array di celle di oggetti MATLAB® equivalenti.

Descrizione

C = cell(n) restituisce un array di celle n x n di matrici vuote.

esempio

C = cell(sz1,...,szN) restituisce un array di celle sz1 x ... x szN di matrici vuote, dove sz1,...,szN indicano la grandezza di ciascuna dimensione. Ad esempio, cell(2,3) restituisce un array di celle 2x3.

esempio

C = cell(sz) restituisce un array di celle di matrici vuote, dove il vettore di grandezza sz definisce size(C). Ad esempio, cell([2 3]) restituisce un array di celle 2x3.

esempio

D = cell(obj) converte un array Java, un array .NET System.String o System.Object o una sequenza Python in un array di celle MATLAB.

Argomenti di input

espandi tutto

Grandezza dell'array di celle quadrato, specificata come valore intero.

  • Se n è 0, C è un array di celle vuoto.

  • Se n è negativo, viene trattato come 0.

Tipi di dati: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Grandezze delle dimensioni dell'array di celle, specificate come valori interi.

  • Se la grandezza di qualsiasi dimensione è 0, C è un array di celle vuoto.

  • Se la grandezza di qualsiasi dimensione è negativa, viene trattata come 0.

  • Oltre la seconda dimensione, cell ignora le dimensioni finali con grandezza pari a 1. Ad esempio, cell(3,1,1,1) produce un array di celle 3x1 di matrici vuote.

Tipi di dati: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Grandezza, specificata come vettore riga di numeri interi. Ciascun elemento di sz indica la grandezza della dimensione corrispondente.

  • Se la grandezza di qualsiasi dimensione è 0, C è un array di celle vuoto.

  • Se la grandezza di qualsiasi dimensione è negativa, viene trattata come 0.

  • Oltre la seconda dimensione, cell ignora le dimensioni finali con grandezza pari a 1. Ad esempio, cell([3 1 1 1]) produce un array di celle 3x1 di matrici vuote.

Esempio sz = [2 3 4] crea un array di celle 2x3x4 di matrici vuote.

Tipi di dati: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Array di input, specificato come:

  • Array o oggetto Java

  • Array .NET di tipo System.String o System.Object

  • Tipo di sequenza Python

Argomenti di output

espandi tutto

Array di output, restituito come un array di celle. Ciascuna cella contiene un array vuoto, 0 per 0, di tipo double.

Array rimodellato, restituito come un array di celle.

Ciascuna cella contiene un oggetto MATLAB che ha un tipo più vicino al tipo corrispondente di Java, .NET o Python. Per maggiori informazioni, vedere:

Esempi

comprimi tutto

Quando parti di dati correlati presentano tipi di dati diversi, è possibile metterli insieme in un array di celle. Ciascuna cella contiene una parte di dati. Per fare riferimento agli elementi di un array di celle, utilizzare l'indicizzazione dell'array. È possibile indicizzare su un array di celle utilizzando le parentesi tonde () e i contenuti delle celle utilizzando le parentesi graffe {}.

Creare un array di celle che contenga diverse letture della temperatura effettuate in una determinata data. Specificare una data come vettore di caratteri e le temperature come array di double. Per memorizzare queste parti di dati in un array di celle, includerle tra parentesi graffe.

C = {'2017-08-16',[56 67 78]}
C=1×2 cell array
    {'2017-08-16'}    {[56 67 78]}

Aggiungere all'array di celle le letture per le diverse date. Un modo per aggiungere altre celle è espandere l'array di celle tramite assegnazione, proprio come si può espandere un array ordinario.

C(2,:) = {'2017-08-17',[58 69 79]};
C(3,:) = {'2017-08-18',[60 68 81]}
C=3×2 cell array
    {'2017-08-16'}    {[56 67 78]}
    {'2017-08-17'}    {[58 69 79]}
    {'2017-08-18'}    {[60 68 81]}

Indicizzare sulla prima riga di C. Quando si esegue l'indicizzazione con le parentesi tonde (), il risultato è un array di celle che è un sottoinsieme dell'array di celle.

C(1,:)
ans=1×2 cell array
    {'2017-08-16'}    {[56 67 78]}

Indicizzare sul contenuto di una cella. Quando si esegue l'indicizzazione con le parentesi graffe {}, il risultato è la parte di dati contenuta nella cella specificata.

C{1,2}
ans = 1×3

    56    67    78

Creare un array di celle 3x3 di matrici vuote.

C = cell(3)
C=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}

Creare un array di celle 3x4x2 di matrici vuote.

C = cell(3,4,2);
size(C)
ans = 1×3

     3     4     2

Creare un array di celle di matrici vuote della stessa grandezza di un array esistente.

A = [7 9; 2 1; 8 3];
sz = size(A);
C = cell(sz)
C=3×2 cell array
    {0×0 double}    {0×0 double}
    {0×0 double}    {0×0 double}
    {0×0 double}    {0×0 double}

È prassi comune combinare le due righe di codice precedenti in un'unica riga.

C = cell(size(A));

Suggerimenti

  • La creazione di un array di celle di matrici vuote con la funzione cell è equivalente all'assegnazione di una matrice vuota all'ultimo indice di un nuovo array di celle. Ad esempio, queste due dichiarazioni sono equivalenti:

    C = cell(3,4,2);
    C{3,4,2} = [];

Funzionalità estese

espandi tutto

Cronologia versioni

Introduzione prima di R2006a

espandi tutto