lettura facile

Come salvare i dati in un file su Matlab

In questa lezione ti spiego come salvare i dati dell'area di lavoro di Matlab in un file del PC e come caricarli in memoria.

A cosa serve salvare i dati? Quando esci da Matlab la memoria RAM dove era memorizzata l'area lavoro viene azzerata. Salvando i dati dell'area di lavoro in un file sull'hard disk del tuo computer, puoi ricaricarli in memoria quando torni su Matlab. In questo modo eviti di doverli digitare di nuovo.

Come salvare i dati in un file

Ti faccio un esempio pratico

Crea tre array con i nomi M1, M2, M3

>> M1=[1 2 3; 4 5 6];
>> M2=[7 8 ; 9 1];
>> M3 = [ 3 4; 5 6; 8 9];

Hai creato in memoria tre array

Per salvare tutti i dati dell'area di lavoro usa il comando save seguito dal nome del file che vuoi usare

>> save nomefile.mat

Ora cancella i dati in memoria con il comando clear oppure esci e rienta in Matlab

>> clear

In questo modo tutti i dati presenti in memoria sono cancellati e l'area di lavoro di Matlab viene azzerata.

Se provi a usare la matrice M1, Matlab non la trova e restituisce un errore

>> M1
Unrecognized function or variable 'M1'.

Per caricare in memoria i dati che hai salvato nel file, usa il comando load seguito dal nome del file

>> load nomefile.mat

Questo comando carica nell'area di lavoro i dati presenti nel file.

Se digiti M1, Matlab lo trova in memoria e visualizza il suo contenuto.

>> M1
M1 =
1 2 3
4 5 6

Nota. In questi esempi hai salvato una matrice con dei numeri. In generale su Matlab puoi salvare dati di ogni tipo: numeri, stringhe, caratteri, immagini, ecc.

Come salvare solo determinati oggetti

Matlab ti permette anche di fare un salvataggio selettivo.

In questo caso devi indicare esplicitamente quali oggetti dell'area di lavoro vuoi salvare nel file

Ad esempio, per salvare solo la matrice M1 digita

>> save nomefile2.mat M1

Per salvare le due matrici M1 e M2, invece, digita

>> save nomefile3.mat M1 M2

In alternativa, per salvare le due matrici M1 e M2 puoi anche usare questa sintassi

>> save("nomefile3.mat", "M1", "M2")

Nota. Per aggiungere altri oggetti nel salvataggio dei dati, aggiungili in coda. Ad esempio, se vuoi salvare le tre oggetti digita save nomefile3.mat M1 M2 M3 oppure save("nomefile3.mat", "M1", "M2" , "M3")

Puoi anche salvare tutti gli oggetti che iniziano con una lettera specifica usando il carattere speciale *.

Ad esempio, per salvare gli oggetti che cominciano con la lettera M digita save nomefile3.mat M*

>> save nomefile3.mat M*

Per caricare i dati in memoria, invece, usa il comando load

load nomefile2.mat

Come caricare un singolo oggetto in memoria

Quando salvi molti oggetti in un file, può capitare che ti serva soltanto uno di questi.

Matlab ti permette di fare un caricamento selettivo ed evitare di caricarli tutti.

 

Perché fare il caricamento selettivo? I dati occupano lo spazio di memoria del computer. E' quindi inutile caricare anche i dati che non ti servono. Caricando solo quelli che vuoi usare impegni una minore quantità di memoria RAM e il computer lavora più velocemente.

Per caricare solo un oggetto indica il nome dell'oggetto dopo il nome del file.

Ad esempio, nel file nomefile.mat hai salvato le matrici M1, M2, M3.

Per caricare in memoria solo la matrice M1 digita load nomefile.mat M1

>> load nomefile.mat M1

Matlab apre il file e carica in memoria solo la matrice M1 ignorando le altre matrici presenti nel file.

Per caricare in memoria le matrici M1 e M2 digita load nomefile.mat M1 M2

>> load nomefile.mat M1 M2

In questo caso Matlab carica in memoria le matrici M1 e M2 ma non la matrice M3.

In alternativa, puoi utilizzare questa sintassi di caricamento. Il risultato finale è sempre lo stesso.

>> load("nomefile.mat","M1","M2")

Nota. Per caricare tre o più oggetti in memoria aggiungi gli oggetti in coda alla lista. Ad esempio, per caricare tre matrici digita load nomefile.mat M1 M2 M3

Puoi anche caricare tutti gli oggetti che cominciano con una lettera.

Ad esempio, per caricare gli oggetti che cominciano con M digita load nomefile.mat M*

>> load nomefile.mat M*

Come salvare i dati in un file binario

Matlab ti permette anche di salvare i dati in un file usando il formato binario.

Per salvare i dati in binario devi usare l'istruzione save con l'opzione -mat

>> save -mat nomefile4.mat

Per caricare in memoria i dati presenti in un file binario, invece, usa l'istruzione load.

>> load nomefile4.mat

A cosa serve salvare i dati in binario?

Il formato binario è molto utile quando vuoi elaborare i dati salvati su Matlab in altri software.

Altre opzioni di salvataggio

Il comando save di Matlab ha diverse opzioni utili. In questa lista ti indico quelle più utili.

  • -append
    aggiunge dati in coda in un file già esistente senza cancellare i dati già esistenti
  • -nocompression
    salva i dati senza compressione
  • -ascii
    salva i dati in formato testuale (testo ASCII)
  • -mat
    salva i dati in formato binario
  • -struct
    salva i dati di una struttura

Per usare più opzioni nel comando save utilizza questa sintassi.

save ("-option1", ..., "file", "v1", ...)

Se vuoi conoscere tutte le opzioni del comando save, digita help save sulla riga di comando

>> help save

 




Non hai risolto il tuo problema? Scrivi una domanda




FacebookTwitterLinkedinLinkedin