Contenuto principale

La traduzione di questa pagina non è aggiornata. Fai clic qui per vedere l'ultima versione in inglese.

load

Caricare le variabili dal file al workspace

Descrizione

load(filename) carica i dati da filename nel workspace di MATLAB®. Se filename è un file MAT, load(filename) carica le variabili dal file; se filename è un file ASCII, load(filename) carica un array a doppia precisione contenente i dati del file.

Nota

Considerazioni sulla sicurezza: Il comando load potrebbe eseguire il codice contenuto in un file MAT mentre inizializza le variabili. Evitare di chiamare load su file MAT non attendibili.

esempio

load(filename,variables) carica le variabili specificate dal file MAT filename.

esempio

load(filename,"-ascii") tratta filename come un file ASCII, indipendentemente dall'estensione del file.

esempio

load(filename,"-mat") tratta filename come un file MAT, indipendentemente dall'estensione del file.

load(filename,"-mat",variables) carica le variabili specificate da filename.

S = load(___) carica i dati in S, utilizzando una qualsiasi combinazione di argomenti di input nelle sintassi precedenti. Se filename è un file MAT, S è un array di struttura; se filename è un file ASCII, S è un array m x n a doppia precisione contenente i dati del file, dove m è il numero di righe del file e n è il numero di valori su ogni riga.

esempio

load filename è la forma comando della sintassi. La forma comando richiede un minor numero di caratteri speciali. Non è necessario digitare parentesi o includere l'input tra virgolette singole o doppie. Separare gli input con spazi invece che con virgole. Se un input include spazi, includerlo tra virgolette singole.

Ad esempio, per caricare un file denominato test.mat, queste dichiarazioni sono equivalenti:

load test.mat    % command form
load("test.mat") % function form

È possibile includere uno qualsiasi degli input descritti nelle sintassi precedenti. Ad esempio, per caricare la variabile X da un file denominato my file.mat:

load 'my file.mat' X    % command form, using single quotes
load("my file.mat","X") % function form, using double quotes

Non utilizzare la forma comando quando uno qualsiasi degli input, come filename, è una variabile.

esempio

Esempi

comprimi tutto

Caricare tutte le variabili dal file MAT gong.mat nel workspace di MATLAB.

Per prima cosa, controllare il contenuto del workspace.

whos

Visualizzare il contenuto di gong.mat.

whos("-file","gong.mat")
  Name          Size             Bytes  Class     Attributes

  Fs            1x1                  8  double              
  y         42028x1             336224  double              

Caricare gong.mat e verificare nuovamente il contenuto del workspace.

load("gong.mat")
whos
  Name          Size             Bytes  Class     Attributes

  Fs            1x1                  8  double              
  y         42028x1             336224  double              

È inoltre possibile utilizzare la sintassi del comando per caricare le variabili. Cancellare le variabili caricate in precedenza e ripetere l'operazione di caricamento.

clear y Fs
load gong.mat

Caricare solo la variabile y dal file di esempio handel.mat. Se il workspace contiene già la variabile y, l'operazione di caricamento la sovrascrive con i dati del file.

load("handel.mat","y")

È inoltre possibile utilizzare la sintassi del comando per caricare la variabile y.

load handel.mat y

Visualizzare il contenuto del file di esempio accidents.mat.

whos -file accidents.mat
  Name              Size            Bytes  Class     Attributes

  datasources       3x1              2748  cell                
  hwycols           1x1                 8  double              
  hwydata          51x17             6936  double              
  hwyheaders        1x17             2894  cell                
  hwyidx           51x1               408  double              
  hwyrows           1x1                 8  double              
  statelabel       51x1              7004  cell                
  ushwydata         1x17              136  double              
  uslabel           1x1               146  cell                

Utilizzare la sintassi della funzione per caricare dal file tutte le variabili con nomi che non iniziano con hwy.

load("accidents.mat","-regexp","^(?!hwy)...")

In alternativa, utilizzare la sintassi del comando per caricare le stesse variabili.

load accidents.mat -regexp '^(?!hwy)...'

Il file durer.mat contiene le variabili X, caption e map. Creare un array di celle con i nomi delle variabili da caricare.

filename = "durer.mat";
myVars = {"X","caption"};

Caricare le variabili selezionate da durer.mat in un array di struttura.

S = load(filename,myVars{:})
S = struct with fields:
          X: [648x509 double]
    caption: [2x28 char]

Solo le variabili X e caption vengono caricate nell'array di struttura S.

Creare un file ASCII da diverse matrici a quattro colonne e caricare nuovamente i dati in un array a doppia precisione.

a = magic(4);
b = -5.7*ones(2,4);
c = [8 6 4 2];
save mydata.dat a b c -ascii
clear a b c

load mydata.dat -ascii

load crea un array di tipo double denominato mydata.

Visualizzare le informazioni su mydata.

whos mydata
  Name        Size            Bytes  Class     Attributes

  mydata      7x4               224  double              

Argomenti di input

comprimi tutto

Nome del file, specificato come scalare di stringa o vettore di caratteri. Se non si specifica filename, la funzione load cerca un file denominato matlab.mat.

Se filename non ha un'estensione (ossia, non termina con un punto seguito da testo), load cerca un file il cui nome è filename a cui è stato aggiunto .mat. Se filename ha un'estensione diversa da .mat, la funzione load tratta il file come dati ASCII.

Nota

I file ASCII devono contenere una tabella rettangolare di numeri decimali, con un numero uguale di elementi in ciascuna riga. Il delimitatore del file (ossia il carattere che separa gli elementi di ogni riga) può essere un carattere vuoto, una virgola, un punto e virgola o una tabulazione. Il file può contenere commenti di MATLAB (righe che iniziano con un segno di percentuale %).

In base alla posizione del file, filename può presentarsi in una di queste forme.

Posizione

Forma

Cartella corrente o cartella del percorso di MATLAB

Specifica il nome del file in filename.

Esempio: "myFile.mat"

File in una cartella

Se il file non si trova nella cartella corrente o in una cartella del percorso di MATLAB, specifica il percorso completo o relativo in filename.

Esempio: "C:\myFolder\myFile.mat"

Esempio: "dataDir\myFile.mat"

Posizioni remote

Se il file è memorizzato in una posizione remota, specifica filename come un localizzatore uniforme di risorse (URL) in questa forma:

schemeName://pathToFile/fileName.mat

In base alla posizione remota, schemeName può essere uno dei valori di questa tabella.

Posizione remotaschemeName
Amazon S3™s3
Archiviazione Blob di Windows Azure®wasb, wasbs
HDFS™hdfs

Per maggiori informazioni sull'impostazione di MATLAB per accedere al servizio di archiviazione online, vedere Work with Remote Data.

Esempio: "s3://myBucket/myPath/myFile.mat"

Quando si utilizza la forma comando di load, non è necessario includere l'input tra virgolette singole o doppie. Tuttavia, se filename contiene uno spazio, è necessario includere l'argomento tra virgolette singole. Ad esempio, load 'filename withspace.mat'.

Nomi delle variabili da caricare, specificati come uno o più scalari di stringhe o vettori di caratteri. Quando si utilizza la forma comando di load, non è necessario includere l'input tra virgolette singole.

variables può presentarsi in una di queste forme.

Forma dell'input variablesVariabili da caricare
var1,var2,...,varNCarica le variabili elencate, specificate come singoli scalari di stringhe o vettori di caratteri. Utilizza il carattere jolly "*" per abbinare i pattern. Ad esempio, load("filename.mat","A*") o load filename.mat A* carica tutte le variabili del file i cui nomi iniziano con A.
"-regexp",expr1,expr2,...,exprNCarica solo le variabili i cui nomi corrispondono alle espressioni regolari, specificate come scalari di stringhe o vettori di caratteri. Ad esempio, load("filename.mat","-regexp","^Mon","^Tues") o load filename.mat -regexp ^Mon ^Tues carica solo le variabili del file i cui nomi iniziano con Mon o Tues.

Limiti

  • Quando si lavora con dati remoti, load non supporta il trattamento del file di input come un file ASCII.

Suggerimenti

  • Per accelerare il caricamento dei file MAT dalle unità di rete, è possibile utilizzare queste strategie:

    • Utilizzare la funzione copyfile per copiare il file dall'unità di rete a un'unità locale prima di applicare la funzione load alla copia locale.

    • Utilizzare la funzione matfile per accedere al file senza caricarlo nel workspace.

    • Ridurre o disattivare l'aggiornamento del browser della cartella corrente. A tal fine, accedere alla scheda Home e nella sezione Environment selezionare Preferences. Selezionare MATLAB > Current Folder. È possibile aumentare il valore Number of seconds between auto-refresh a un numero superiore al valore predefinito di 3, oppure deselezionare la casella di spunta Auto-refresh view from file system per disabilitare questa feature.

Algoritmi

Se non si specifica un output durante il caricamento da un file ASCII, la funzione load crea una variabile con il nome del file caricato (senza l'estensione del file). Ad esempio, il comando load mydata.dat legge i dati in una variabile denominata mydata. Ad esempio, vedere Caricamento di un file ASCII

Per creare il nome della variabile, load antepone una X a qualsiasi trattino basso o cifra presente in filename e sostituisce qualsiasi altro carattere non alfabetico con un trattino basso. Ad esempio, il comando load 10-May-data.dat crea una variabile denominata X10_May_data.

Funzionalità estese

espandi tutto

Cronologia versioni

Introduzione prima di R2006a

espandi tutto