Tipi di dati MATLAB: tutto ciò che devi sapere

Pubblicato: 2020-09-16

MATLAB offre molti modi per memorizzare numeri e variabili. Tutti i numeri sono equivalenti ai numeri reali numerici effettivi. C'è un limite superiore al numero più grande e un limite inferiore al valore assoluto del numero diverso da zero. Ciò è dovuto alla memoria finita dei dispositivi di elaborazione rispetto al numero reale, che può essere infinito.

A causa dello spazio finito, la variabile MATLAB non può memorizzare un numero irrazionale. Ad esempio, il valore di pi viene restituito al valore di approssimazione. L'insieme di valori che sono rappresentati nella variabile MATLAB è finito. I tipi di dati in MATLAB aiuteranno a gestire questa limitazione.

Tutte le variabili MATLAB appartengono a una classe in cui classi diverse hanno caratteristiche diverse e sono adatte a rappresentare diversi tipi di dati, siano essi numerici, testuali o complessi.

Ricorda: tutti gli elementi forniti in un array dovrebbero essere dello stesso tipo.

MATLAB fornisce un totale di 16 tipi fondamentali e i tipi di dati in MATLAB sono definiti da,

  • Insieme di valori definito
  • Set di operazioni che può essere utilizzato per eseguire su quei valori

Fonte

Sommario

Tipi numerici

I tipi numerici includono interi con segno e senza segno, numeri a virgola mobile a precisione doppia e singola. Le variabili numeriche e le loro caratteristiche sono elencate di seguito:

Doppio Matrici a doppia precisione
  • Tipo di dati numerico predefinito (classe) in MATLAB
  • Memorizzato come valore a virgola mobile a 64 bit (8 byte).
  • Allineare-

Numeri negativi = -1,79769 x 10 308 e -2,22507 x 10 -308

Numeri positivi = 2,22507 x 10 -308 e 1,79769 x 10 308

separare Matrici a precisione singola
  • Memorizzato come valore a virgola mobile a 4 byte (32 bit).
  • Allineare-

Numeri negativi = -1,79769 x 10 308 e -2,22507 x 10 -308

Numeri positivi = 2,22507 x 10 -308 e 1,79769 x 10 308

int8 Matrici di interi con segno a 8 bit
  • Memorizzato come numeri interi con segno a 1 byte (8 bit).
  • L'intervallo va da -2 7 a 2 7 -1
int16 Matrici di interi con segno a 16 bit
  • Memorizzato come numeri interi con segno a 2 byte (16 bit).
  • Intervallo da -2 15 a 2 15 -1
int32 Matrici di interi con segno a 32 bit
  • Memorizzato come numeri interi con segno a 4 byte (32 bit).
  • L'intervallo va da -2 31 a 2 31 -1
int64 Matrici di interi con segno a 64 bit
  • Memorizzato come numeri interi con segno a 8 byte (64 bit).
  • L'intervallo è compreso tra -2 63 e 2 63 -1
uint8 Matrici di interi senza segno a 8 bit
  • Memorizzato come numeri interi senza segno a 1 byte (8 bit).
  • L'intervallo è compreso tra 0 e 2 8 -1
uint16 Matrici di interi senza segno a 16 bit
  • Memorizzato come numeri interi senza segno a 2 byte (16 bit).
  • L'intervallo è compreso tra 0 e 2 16 -1
uint32 Matrici di interi senza segno a 32 bit
  • Memorizzato come numeri interi senza segno a 4 byte (32 bit).
  • L'intervallo è compreso tra 0 e 2 32 -1
uint64 Matrici di interi senza segno a 64 bit
  • Memorizzato come numeri interi senza segno a 8 byte (64 bit).
  • L'intervallo è compreso tra 0 e 2 64 -1

Leggi: While loop in MATLAB: tutto ciò che devi sapere

Tipo logico

Il valore vero e falso è rappresentato con il valore logico 0 e 1. Qualsiasi valore numerico (non complesso) può essere convertito in rappresentazione logica.

Sintassi : L = logico (x)

L'istruzione precedente converte x in qualsiasi matrice di valori logici. L'elemento diverso da zero di x viene convertito nel valore logico 1 (vero) e il valore zero viene convertito nel valore logico 0 (falso).

Tipo di carattere e stringa

L'array di caratteri e stringhe MATLAB fornisce l'archiviazione per i dati di testo. La sequenza di caratteri è una matrice di caratteri confrontata con la sequenza di numeri chiamata matrice numerica.

Sintassi : c = 'up grad'

"up grad" è la sequenza di caratteri che formano un array di stringhe. Possiamo osservarlo anche come un pezzo di testo avvolto.

Matrice di celle

Un array di celle è un tipo di dati MATLAB che contiene contenitori di dati indicizzati chiamati celle . Le celle possono contenere qualsiasi tipo di dati, comunemente contengono vettori di caratteri di diversa lunghezza, numeri, una matrice di numeri di qualsiasi dimensione. Gli insiemi di celle sono racchiusi tra () e l'accesso alle celle viene effettuato utilizzando {} che consente di creare, modificare o eliminare qualsiasi funzione di cella.

Sintassi : c = {s,m,i,l,e}

Tabelle

I dati tabulari o orientati alle colonne richiedono tabelle e vengono archiviati come colonne in un file di testo o foglio di calcolo. Contiene righe e variabili di colonna. Ogni variabile può essere di diversi tipi di dati e dimensioni diverse, ma ogni variabile deve avere lo stesso numero di righe.

La gamma di funzioni viene utilizzata per accedere ai dati per creare, modificare e leggere i dati della tabella.

Strutture

I campi con nome contengono dati con tipi e dimensioni variabili. Qui i contenitori di dati vengono utilizzati per raggruppare i dati correlati e il loro tipo, chiamati campi . I campi possono contenere qualsiasi tipo di dato.

L'accesso ai dati nelle strutture avviene mediante la notazione del punto.

Formato: structname.fieldName.

Esempio:

La struttura scalare viene utilizzata per memorizzare le cartelle cliniche dei pazienti, appartenenti allo stesso gruppo.

paziente(1).name = 'John Doe';

paziente(1).fatturazione = 127,00;

paziente(1).test = [79, 75, 73; 180, 178, 177,5; 220, 210, 205];

Maniglie di funzione

L'uso di un handle di funzione consiste principalmente nel passare una funzione (numerica o char) a un'altra funzione. Le variabili utilizzate per richiamare la funzione indirettamente possono essere denominate come handle di funzione .

Per creare un handle di funzione viene utilizzato l'operatore '@'.

Esempio: per creare un handle di funzione per valutare a2 -b2 , la funzione utilizzata è:

F = @(a,b) (a.^2 – b.^2);

Identificazione del tipo di dati

MATLAB ha un insieme di variabili che vengono utilizzate per identificare il tipo di dati

la durata del calendario Per verificare se i dati di input sono una matrice di durata del calendario
iscellstr Per verificare se i dati di input sono una matrice di celle è di vettori di caratteri
iscell Per verificare se i dati di input sono array di celle
isjava Per verificare se i dati di input sono oggetti Java
iscar Per verificare se i dati di input sono una matrice di caratteri
iscategoria Per verificare se i dati di input sono array categoriali
è durata Per verificare se i dati di input sono un array di durata
iseno Per verificare se la variabile è un'enumerazione
è galleggiante Per verificare se i dati di input sono array a virgola mobile
isdatetime Per verificare se i dati di input sono array datetime
è intero Per verificare se i dati di input sono array interi
istabile Per verificare se i dati di input sono una tabella
isgrafica True per gli handle di oggetti grafici validi
isumerico Per verificare se i dati di input sono una matrice numerica
isoggetto Per verificare se i dati di input sono oggetti MATLAB
è reale Per verificare se l'array è reale
isstring Per verificare se i dati di input sono array di stringhe
isstruct Per verificare se i dati di input sono una matrice di struttura
validateattributes Verificare la validità dell'array
è orario Per verificare se i dati di input sono orari
è un Per verificare se i dati di input hanno un tipo di dati specificato
islogico Per verificare se i dati di input sono array logici
è* Rileva stato
classe Classe di oggetto

Conversione del tipo di dati

Le seguenti funzioni vengono utilizzate per cambiare tra diversi tipi di dati MATLAB, un array numerico, un array di caratteri, un array di celle, strutture o tabelle.

char – Matrice di caratteri

cellstr – Per passare alla matrice di celle di vettori di caratteri

int2str – Per cambiare i numeri interi in caratteri

mat2str – Per cambiare la matrice in caratteri

num2str – Per cambiare i numeri in una matrice di caratteri

str2double – Per modificare le stringhe in valori di precisione doppia

str2num – Per cambiare la matrice di caratteri o la stringa in matrice numerica

native2unicode – Per modificare i byte numerici nella rappresentazione dei caratteri Unicode

unicode2native – Per modificare la rappresentazione dei caratteri Unicode in byte numerici

base2dec – Per cambiare il testo che rappresenta un numero in base N in un numero decimale

hex2dec – Per cambiare la rappresentazione testuale di un numero esadecimale in un numero decimale

hex2num – Per modificare il formato esadecimale IEEE in un numero a doppia precisione

num2hex – Per modificare i numeri a precisione singola e doppia in formato esadecimale IEEE

table2array – Per cambiare la tabella in una matrice omogenea

table2cell – Per cambiare la tabella in un array di celle

table2struct – Per cambiare la tabella in struttura array

array2table – Per cambiare l'array omogeneo in una tabella

cell2table – Per cambiare l'array di celle in una tabella

struct2table – Per cambiare l'array della struttura in una tabella

cell2mat – Per cambiare l'array di celle in un array ordinario del tipo di dati sottostante

cell2struct – Per cambiare l'array di celle in array di struttura

mat2cell – Per cambiare l'array in un array di celle le cui celle contengono sottoarray

num2cell – Per cambiare l'array in un array di celle con celle di dimensioni coerenti

struct2cell – Per cambiare la struttura nell'array di celle

Leggi anche: Ricorsività nella struttura dei dati: come funziona, tipi e quando utilizzato

Conclusione

Dall'articolo precedente, abbiamo ottenuto una panoramica di vari tipi di dati MATLAB. Ciascuno di questi tipi di dati è molto essenziale per gli utenti MATLAB per comprendere e utilizzare efficacemente la programmazione MATLAB. MATLAB è molto popolare nei campi della scienza e dell'ingegneria grazie al suo calcolo preciso, alla sintassi e all'ampio supporto della comunità.

Se sei interessato a saperne di più su MATLAB, sull'apprendimento automatico e sui suoi argomenti rilevanti, dai un'occhiata al Diploma PG di IIIT-B e upGrad in Machine Learning e AI, progettato per i professionisti che lavorano e offre oltre 450 ore di formazione rigorosa, oltre 30 casi di studio e incarichi, stato di Alumni IIIT-B, oltre 5 progetti pratici pratici e assistenza sul lavoro con le migliori aziende.

Quali sono i diversi tipi di dati utilizzati in MATLAB?

I dati in MATLAB possono essere numerici o caratteri. I dati numerici rappresentano valori che corrispondono ai numeri e alle operazioni aritmetiche che conosci, come addizioni e moltiplicazioni. I dati dei caratteri sono stringhe di testo, come parole, lettere o simboli (come '$'). È possibile accedere agli elementi degli array di caratteri utilizzando la stessa sintassi dei dati numerici (ad esempio, C('Questo è un array di caratteri') restituisce l'elemento dell'array C che contiene la stringa, Questo è un array di caratteri).

Cosa sono le strutture in MATLAB?

MATLAB include tre classi di strutture: array di celle, struct e array di handle. Un array di celle è una singola struttura di dati che contiene elementi di diversi tipi. Un array di celle è in realtà un gruppo di strutture, ognuna delle quali contiene un elemento dell'array. Se usi la funzione cell() per creare un array di celle, MATLAB riempie l'array con zeri per impostazione predefinita. Uno struct è una raccolta di variabili che hanno tutte lo stesso nome, ma possono avere tipi diversi. MATLAB gestisce le strutture come array di celle. È possibile memorizzare solo una struttura in un array di celle. Un handle array è un contenitore per riferimenti ad altri array MATLAB o ad oggetti come grafici e figure. È possibile memorizzare più array di handle in un array di celle.

Come identificare il tipo di dati in matlab?

Questo può essere fatto usando il comando isa in matlab. La sintassi del comando isa è la seguente: isa(my_data). Ad esempio: se vuoi conoscere il tipo di dati di my_data, puoi usare il comando isa come: isa(my_data) Questo restituirà il seguente testo: int64, int32, int16, uint8, uint32, uint64, complex64, complex128, char . Questo comando deve essere utilizzato solo in matlab.