MATLAB File MAT

Ammar Ali 20 giugno 2021
  1. Crea un file MAT usando la funzione matfile() in MATLAB
  2. Salvare i dati nel file MAT utilizzando la funzione save() in MATLAB
  3. Carica i dati dal file MAT utilizzando la funzione load() in MATLAB
MATLAB File MAT

In questo tutorial, discuteremo come utilizzare il file MAT per archiviare e caricare i dati in MATLAB.

Crea un file MAT usando la funzione matfile() in MATLAB

Puoi creare un file MAT con un nome specifico usando la funzione matfile(). Devi passare il nome del file e l’estensione del file nella funzione per crearlo. Ad esempio, creiamo un file MAT con un nome di file fileName e l’estensione .mat utilizzando la funzione matfile(). Vedi il codice qui sotto.

mat_file = matfile('fileName.mat')

È inoltre possibile abilitare o disabilitare l’accesso in scrittura al file MAT utilizzando la funzione matfile(). Ad esempio, vedere il codice di seguito.

mat_file = matfile('fileName.mat','Writable',true)

Nel codice sopra, abbiamo dato l’accesso in scrittura al file come true, il che significa che possiamo salvare i dati in, se l’accesso in scrittura è false, non possiamo salvare i dati nel file.

Salvare i dati nel file MAT utilizzando la funzione save() in MATLAB

È possibile salvare dati di qualsiasi tipo nel file MAT utilizzando la funzione save(). Ad esempio, salviamo una matrice e una cella nel file MAT creato sopra. Vedi il codice qui sotto.

myMatrix = [1 2 3; 4 5 6];
myCell = {'a','b','c'};
mat_file = matfile('fileName.mat','Writable',true);
save('fileName.mat','myMatrix')
mat_file.myCell = myCell;

Nel codice sopra, abbiamo salvato myMatrix nel file MAT fileName.mat usando la funzione save(). Abbiamo anche salvato myCell nel file MAT fileName.mat usando il suo oggetto mat_file. Se salvi i dati usando la funzione save(), sovrascriverà i dati esistenti, ma se usi l’oggetto del file, non cambierà i dati precedenti e sarà memorizzato separatamente nel file MAT. Notare che il file MAT verrà salvato nella directory corrente del file .m. Se vuoi cambiare la directory, devi creare un nuovo file .m in quel file specifico e quindi salvare lì il file MAT.

Carica i dati dal file MAT utilizzando la funzione load() in MATLAB

È possibile caricare i dati dal file MAT utilizzando la funzione load(). Ad esempio, carichiamo i dati dal file MAT creato sopra. Vedi il codice qui sotto.

data = load('fileName.mat')

Nel codice precedente, abbiamo caricato il file MAT fileName.mat utilizzando la funzione load(). Assicurati che il file sia presente nella stessa directory del file .m; altrimenti, MATLAB darà un errore. Per caricare un file MAT da una directory diversa, è necessario passare il percorso completo del file insieme al suo nome e alla sua estensione per caricarlo. Ad esempio, vedere il codice di seguito.

data = load('C:\myFolder\myFile.mat')

È possibile controllare le informazioni della variabile come il tipo e la dimensione della variabile memorizzata nel file MAT caricato utilizzando la funzione whos. Ad esempio, controlliamo le variabili memorizzate nel file MAT precedente fileName.mat. Vedi il codice qui sotto.

whos('-file','fileName.mat')

Produzione:

  Name          Size            Bytes  Class     Attributes

  myCell        1x3               318  cell                
  myMatrix      2x3                48  double  

Come puoi vedere nell’output, il file MAT fileName.mat ha un array cell e una matrice memorizzata al suo interno. Se desideri estrarre e stampare solo una variabile dal file MAT, puoi utilizzare il nome di quella variabile per estrarla. Ad esempio, estraiamo la variabile myCell dal file MAT di cui sopra. Vedi il codice qui sotto.

data = load('fileName.mat');
mat = data.myMatrix

Produzione:

mat =

     1     2     3
     4     5     6

Come puoi vedere nell’output, abbiamo estratto la variabile richiesta dal file MAT e la memorizziamo nella variabile mat. Controllare questo collegamento per ulteriori informazioni sul file MAT.

Autore: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook