Guide rapide

Organizzazione e accesso ai dati in MATLAB

Questo riferimento mostra casi d’uso comuni, pertanto non è un elenco esaustivo.

Rappresentazione dei dati
Omogenei
Tipo di dati Icona Scopo Sintassi
Double, single, (u)int8, (u)int16, (u)int32, (u)int64, complex
Double, single, complex
Array numerici, calcoli matriciali e operazioni matematiche [1,2,3], [1;2;3], uint8(), int16()
String
Stringa
Array di testo "hello world"
Char
Char
Singoli caratteri, array di caratteri 'hello'
Categorical
Categorical
Dati discreti e non numerici categorical()
Datetime
Datetime
Date e timestamp assoluti, inclusi i fusi orari datetime('July 12, 2001 08:15:01')
Duration
Durata
Tempo trascorso duration(h,m,s), hours(), minutes()
Calendar of duration
Calendar of duration
Tempo relativo basato sul calendario caldays(), calweeks()
Logical
Logical
Vero/falso, stato dei test, identificazione dei dati in base a una condizione logical(), ==, ~=, >, >=, <, <=, &, &&, |, ||
Altri tipi specifici
Altri tipi specifici
Sparsi, enumerativi, personalizzati, ... » Documentazione
Eterogenei
Tipo di dati Icona Scopo Sintassi
Table
Tabella
Dati eterogenei organizzati a colonna (come in un foglio di calcolo).
Metadati store
table(x,y,z), array2table
Timetable
Timetable
Dati tabulari con timestamp timetable(t,x,y) table2timetable,array2timetable
Structure
Struttura
I campi possono contenere dati di qualsiasi dimensione e tipo. Ideale per dati non rettangolari. struct()
Cell array
Cell array
Ogni cella dell’array può contenere dati di qualsiasi tipo e dimensione cell(), {pi,ones(5), "hello"}
Tall array
Tall array
I tipi di dati MATLAB possono essere resi “tall” quando sono troppo grandi per la memoria ds = datastore(), T = tall(ds)
Dictionary
Dictionary
Oggetto che associa chiavi univoche a valori d = dictionary(keys,values)
Selezione dei dati
Utilizza l’indicizzazione degli array per selezionare i dati.  
Indicizzazione lineare per array 1D:
X(1) Primo elemento
X(end) Ultimo elemento
 
 
 
Indicizzazione per righe e colonne per array multidimensionali:
A(1,2)
A(1,1,2)
   
   
Seleziona più elementi con un vettore:
A([1,3],1)
   
   
   
Utilizza i due punti : per selezionare un intervallo:
A(1:3,1)
A(:,1) Tutte le righe, colonna 1
A(1,:) Riga 1, tutte le colonne
A(1:2:end,:) Righe alternate
   
   
   
Rimuovi i dati dall’array:
A(1,:) = [];
Indicizzazione logica

Utilizza espressioni logiche per selezionare i dati

Elementi di X maggiori di 7:
Y = X(X > 7)

Combina condizioni
X(X > 3 & X <= 7)
X(X > 3 | X <= 7)

Array multidimensionali
Utilizza una condizione per identificare righe o colonne:
idx = X > 7;
X(idx, :)

Table e timetable
T(:,vartype('numeric'))
TT(timerange(t1,t2),:)

Indicizzazione di contenitori
L’utilizzo delle parentesi () per l’indicizzazione mantiene il tipo di dati originale. Accedi ai dati sottostanti utilizzando le parentesi graffe {}. Le tabelle e le strutture consentono inoltre di fare riferimento ai dati per nome.

» Esempi

Tipo Sottoinsieme Contenuti
Table Restituisce una tabella: T(1,2)
T(:,"A")
T(:,["A","B"])
Restituisce i dati sottostanti:
T{1,2}
T{:,"A"} T.A

T.Rows
T.Variables
Timetable Come sopra:
TT("Apr 1,... 2004",5)
Come sopra:
TT.Time
Cell array Restituisce una cella:
C(1,2)
C{1,2}
C{:} -> comma separated list
Structure Restituisce uno struct:
S(1,1)
S.Field