Hauptinhalt

load

Laden von Variablen aus einer Datei in den Workspace

Beschreibung

load(filename) lädt Daten aus filename in den MATLAB®-Workspace. Wenn filename eine MAT-Datei ist, lädt load(filename) Variablen aus der Datei; wenn filename eine ASCII-Datei ist, lädt load(filename) ein Array mit doppelter Präzision, das Daten aus der Datei enthält.

Hinweis

Überlegungen zur Sicherheit: Möglicherweise führt der Befehl load in einer MAT-Datei enthaltenen Code aus, während er Variablen initialisiert. Vermeiden Sie den Aufruf von load für nicht vertrauenswürdige MAT-Dateien.

Beispiel

load(filename,variables) lädt die angegebenen Variablen aus der MAT-Datei filename.

Beispiel

load(filename,"-ascii") behandelt filename unabhängig von der Dateierweiterung als ASCII-Datei.

Beispiel

load(filename,"-mat") behandelt filename unabhängig von der Dateierweiterung als MAT-Datei.

load(filename,"-mat",variables) lädt die angegebenen Variablen aus filename.

S = load(___) lädt mithilfe einer der Kombinationen von Eingabeargumenten aus den vorherigen Syntaxen Daten in S. Wenn filename eine MAT-Datei ist, handelt es sich bei S um ein Strukturarray; wenn filename eine ASCII-Datei ist, handelt es sich bei S um ein mxn-Array mit doppelter Präzision, das Daten aus der Datei enthält, wobei m die Anzahl der Zeilen in der Datei und n die Anzahl der Werte in jeder Zeile ist.

Beispiel

load filename ist die Befehlsform der Syntax. Die Befehlsform benötigt weniger Sonderzeichen. Sie müssen keine Klammern tippen oder die Eingabe in einfache oder doppelte Anführungszeichen setzen. Trennen Sie Eingaben mit Leerstellen statt Kommas. Wenn eine Eingabe Leerstellen umfasst, setzen Sie diese in einfache Anführungszeichen.

Beispielsweise sind beim Laden einer Datei namens test.mat die folgenden Ausdrücke äquivalent:

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

Sie können beliebige der in den vorherigen Syntaxen beschriebene Eingaben aufnehmen. Um beispielsweise die Variable X aus einer Datei namens my file.mat zu laden:

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

Verwenden Sie die Befehlsform nicht, wenn eine der Eingaben wie beispielsweise filename eine Variable ist.

Beispiel

Beispiele

alle reduzieren

Laden Sie alle Variablen aus der MAT-Datei gong.mat in den MATLAB-Workspace.

Überprüfen Sie zunächst den Inhalt des Workspace.

whos

Zeigen Sie den Inhalt von gong.mat an.

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

  Fs            1x1                  8  double              
  y         42028x1             336224  double              

Laden Sie gong.mat und überprüfen Sie dann erneut den Inhalt des Workspace.

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

  Fs            1x1                  8  double              
  y         42028x1             336224  double              

Sie können ebenfalls Befehlssyntax verwenden, um die Variablen zu laden. Löschen Sie die zuvor geladenen Variablen und wiederholen Sie die Ladeoperation.

clear y Fs
load gong.mat

Laden Sie nur die Variable y aus der Beispieldatei handel.mat. Wenn der Workspace bereits die Variable y enthält, überschreibt die Ladeoperation diese mit Daten aus der Datei.

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

Sie können ebenfalls Befehlssyntax verwenden, um die Variable y zu laden.

load handel.mat y

Zeigen Sie den Inhalt der Beispieldatei accidents.mat an.

whos -file accidents.mat
  Name              Size            Bytes  Class     Attributes

  datasources       3x1              2724  cell                
  hwycols           1x1                 8  double              
  hwydata          51x17             6936  double              
  hwyheaders        1x17             2758  cell                
  hwyidx           51x1               408  double              
  hwyrows           1x1                 8  double              
  statelabel       51x1              6596  cell                
  ushwydata         1x17              136  double              
  uslabel           1x1               138  cell                

Verwenden Sie Funktionssyntax, um alle Variablen mit Namen, die nicht mit hwy beginnen, aus der Datei zu laden.

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

Alternativ können Sie auch Befehlssyntax verwenden, um dieselben Variablen zu laden.

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

Die Datei durer.mat enthält die Variablen X, caption und map. Erstellen Sie ein Zellenarray mit den zu ladenden Variablennamen.

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

Laden Sie die ausgewählten Variablen aus durer.mat in ein Strukturarray.

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

Nur die Variablen X und caption werden in das Strukturarray S geladen.

Erstellen Sie eine ASCII-Datei aus mehreren vierspaltigen Matrizen und laden Sie die Daten in ein Array mit doppelter Präzision.

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 erstellt ein Array vom Typ double namens mydata.

Zeigen Sie Informationen über mydata an.

whos mydata
  Name        Size            Bytes  Class     Attributes

  mydata      7x4               224  double              

Eingabeargumente

alle reduzieren

Name der Datei, angegeben als String-Skalar oder Zeichenvektor. Wenn Sie filename nicht angeben, sucht die load-Funktion nach einer Datei namens matlab.mat.

Wenn filename keine Erweiterung aufweist(d. h. nicht mit einem Punkt gefolgt von Text endet), sucht load nach einer Datei mit dem folgenden Namen: filename gefolgt von .mat. Wenn filename eine andere Erweiterung als .mat hat, behandelt die load-Funktion die Datei als ASCII-Datei.

Hinweis

ASCII-Dateien müssen eine rechteckige Tabelle mit Dezimalzahlen enthalten, wobei jeder Zeile dieselbe Anzahl von Elementen aufweist. Das Dateitrennzeichen (das Zeichen zwischen den Elementen in jeder Zeile) kann ein Leerzeichen, ein Komma, ein Semikolon oder ein Tabulatorzeichen sein. Die Datei kann MATLAB-Kommentare enthalten (Zeilen, die mit einem Prozentzeichen beginnen, %).

Je nach dem Speicherort Ihre Datei kann filename in einer der folgenden Formen vorliegen.

Speicherort

Form

Aktueller Ordner oder Ordner auf dem MATLAB-Pfad

Geben Sie den Namen der Datei in filename an.

Beispiel: "myFile.mat"

Datei in einem Ordner

Wenn sich die Datei nicht im aktuellen Ordner oder in einem Ordner auf dem MATLAB-Pfad befindet, geben Sie den vollständigen oder relativen Pfad in filename an.

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

Beispiel: "dataDir\myFile.mat"

Remote-Speicherorte

Wenn die Datei an einem Remote-Speicherort gespeichert ist, geben Sie filename als URL (Uniform Resource Locator) in dieser Form an:

schemeName://pathToFile/fileName.mat

Basierend auf Ihrem Remote-Speicherort kann schemeName einen der Werte in der folgenden Tabelle annehmen.

Remote-SpeicherortschemeName
Amazon S3™s3
Windows Azure® Blob Storagewasb, wasbs
HDFS™hdfs

Weitere Informationen zum Einrichten von MATLAB zum Zugriff auf Ihren Online-Speicherdienst finden Sie unter Work with Remote Data.

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

Wenn Sie die Befehlsform von load verwenden, müssen Sie keine Klammern tippen oder die Eingabe in einfache oder doppelte Anführungszeichen setzen. Wenn filename jedoch eine Leerstelle enthält, müssen Sie das Argument in einfache Anführungszeichen setzen. Beispiel: load 'filename withspace.mat'.

Namen der zu ladenden Variablen, angegeben als einer oder mehrere Zeichenfolgenskalare oder Zeichenvektoren. Wenn Sie die Befehlsform von load verwenden, müssen Sie die Eingabe nicht in einfache Anführungszeichen setzen.

variables kann eine der folgenden Formen annehmen.

Form der variables-EingabeZu ladende Variablen
var1,var2,...,varNLädt die aufgeführten Variablen, angegeben als einzelne Zeichenfolgenskalare oder Zeichenvektoren. Verwenden Sie den Platzhalter "*", um Muster abzugleichen. Beispielsweise lädt load("filename.mat","A*") oder load filename.mat A* alle Variablen in der Datei, deren Namen mit A beginnen.
"-regexp",expr1,expr2,...,exprNLädt nur die Variablen, deren Namen den regulären Ausdrücken entsprechen, angegeben als Zeichenfolgenskalare oder Zeichenvektoren. Beispielsweise lädt load("filename.mat","-regexp","^Mon","^Tues") oder load filename.mat -regexp ^Mon ^Tues nur die Variablen in der Datei, deren Namen mit Mon oder Tues beginnen.

Einschränkungen

  • Wenn Sie mit Remote-Daten arbeiten, unterstützt load nicht die Behandlung der Eingabedatei als ASCII-Datei.

Tipps

  • Sie können diese Strategien verwenden, um das Laden von MAT-Dateien von Netzlaufwerken zu beschleunigen:

    • Kopieren Sie mithilfe der copyfile-Funktion die Datei vom Netzlaufwerk auf ein lokales Laufwerk und wenden Sie die load-Funktion dann auf die lokale Kopie an.

    • Greifen Sie mithilfe der matfile-Funktion auf die Datei zu, ohne sie in den Workspace zu laden.

    • Verringern oder deaktivieren Sie die Aktualisierung des Fensterbereichs „Dateien“. Wechseln Sie dazu auf die Registerkarte Home und wählen Sie im Abschnitt Environment (Umgebung) die Optionen Settings aus. Wählen Sie MATLAB > Current Folder aus. Sie können entweder den Wert Number of seconds between auto-refresh (Anzahl der Sekunden zwischen automatischen Aktualisierungen) auf eine höhere Zahl als den Standardwert von 3 setzen oder das Kontrollkästchen Auto-refresh view from file system (Dateiansicht automatisch aus dem System aktualisieren) deaktivieren, um die Funktion zu deaktivieren.

Algorithmen

Wenn Sie beim Laden aus einer ASCII-Datei keine Ausgabe angeben, erstellt die load-Funktion eine Variable, die nach der geladenen Datei benannt ist (abzüglich einer eventuellen Dateierweiterung). Zum Beispiel liest der Befehl load mydata.dat Daten in eine Variable namens mydata. Ein Beispiel hierfür finden Sie unter Laden einer ASCII-Datei.

Zum Erstellen des Variablennamens stellt load allen führenden Unterstrichen oder Ziffern in filename ein X voran und ersetzt alle anderen nichtalphabetischen Zeichen durch Unterstriche. Zum Beispiel erstellt der Befehl load 10-May-data.dat eine Variable namens X10_May_data.

Erweiterte Fähigkeiten

alle erweitern

Versionsverlauf

Eingeführt vor R2006a

alle erweitern