Contenu principal

load

Charger les variables d’un fichier dans l’espace de travail

Description

load(filename) charge les données de filename dans l’espace de travail MATLAB®. Si filename est un fichier MAT, load(filename) charge les variables à partir du fichier. Si filename est un fichier ASCII, load(filename) charge un tableau double précision contenant les données du fichier.

Remarque

Considérations de sécurité : la commande load peut exécuter le code figurant dans un fichier MAT, lorsqu’elle initialise les variables. Évitez d’appeler load avec des fichiers MAT non fiables.

exemple

load(filename,variables) charge les variables spécifiées à partir du fichier MAT filename.

exemple

load(filename,"-ascii") traite filename comme un fichier ASCII quelle que soit l’extension du fichier.

exemple

load(filename,"-mat") traite filename comme un fichier MAT, quelle que soit l’extension du fichier.

load(filename,"-mat",variables) charge les variables spécifiées à partir de filename.

S = load(___) charge les données dans S avec n’importe quelle combinaison des arguments en entrée des syntaxes précédentes. Si filename est un fichier MAT, alors S est un tableau de structures. Si filename est un fichier ASCII, alors S est un tableau double précision de m x n contenant les données du fichier, où m est le nombre de lignes du fichier et n est le nombre de valeurs de chaque ligne.

exemple

load filename utilise la syntaxe sous forme de commande. L’utilisation sous forme de commande nécessite moins de caractères spéciaux. Il n’est pas nécessaire de saisir des parenthèses ni de placer l’entrée entre guillemets simples ou doubles. Séparez les entrées par des espaces au lieu de virgules. Si une entrée contient des espaces, placez-la entre guillemets simples.

Par exemple, pour charger un fichier nommé test.mat, les instructions suivantes sont équivalentes :

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

Vous pouvez inclure n’importe quelle entrée décrite dans les syntaxes précédentes. Par exemple, pour charger la variable X à partir d’un fichier nommé my file.mat :

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

N’utilisez pas la syntaxe de commande lorsqu’une ou plusieurs des entrées, par exemple filename, sont des variables.

exemple

Exemples

réduire tout

Chargez toutes les variables du fichier MAT gong.mat dans l’espace de travail MATLAB.

Commencez par vérifier le contenu de l’espace de travail.

whos

Affichez le contenu du fichier gong.mat.

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

  Fs            1x1                  8  double              
  y         42028x1             336224  double              

Chargez gong.mat, puis vérifiez à nouveau le contenu de l’espace de travail.

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

  Fs            1x1                  8  double              
  y         42028x1             336224  double              

Vous pouvez également utiliser une syntaxe de commande pour charger les variables. Effacez les variables précédemment chargées et répétez l’opération de chargement.

clear y Fs
load gong.mat

Chargez uniquement la variable y à partir de l’exemple de fichier handel.mat. Si l’espace de travail contient déjà une variable y, l’opération de chargement la remplace par les données du fichier.

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

Vous pouvez également utiliser une syntaxe de commande pour charger la variable y.

load handel.mat y

Affichez le contenu de l’exemple de fichier accidents.mat.

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                

Utilisez une syntaxe de fonction pour charger toutes les variables dont le nom ne commence pas par hwy à partir du fichier.

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

Vous pouvez également utiliser une syntaxe de commande pour charger ces mêmes variables.

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

Le fichier durer.mat contient les variables X, caption et map. Créez un cell array contenant les noms de variables à charger.

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

Chargez les variables sélectionnées à partir de durer.mat dans un tableau de structures.

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

Seules les variables X et caption sont chargées dans le tableau de structures S.

Créez un fichier ASCII à partir de plusieurs matrices à quatre colonnes et rechargez les données dans un tableau double précision.

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 crée un tableau de type double nommé mydata.

Affichez des informations sur mydata.

whos mydata
  Name        Size            Bytes  Class     Attributes

  mydata      7x4               224  double              

Arguments d'entrée

réduire tout

Nom du fichier, spécifié sous forme de scalaires de chaîne de caractères (string scalars) ou de vecteur de caractères. Si vous ne spécifiez pas filename, la fonction load recherche un fichier nommé matlab.mat.

Si filename n’a pas d’extension (autrement dit, s’il ne finit pas par un point suivi de texte), load recherche un fichier nommé filename suivi de .mat. Si filename a une extension autre que .mat, la fonction load le traite comme s’il s’agissait de données ASCII.

Remarque

Les fichiers ASCII doivent contenir une table rectangulaire de nombres décimaux avec le même nombre d’éléments dans chaque ligne. Le délimiteur du fichier (le caractère qui sépare les éléments de chaque ligne) peut être un espace, une virgule, un point-virgule ou un caractère de tabulation. Le fichier peut contenir des commentaires MATLAB (des lignes qui commencent par un symbole de pourcentage %).

Selon l’emplacement de votre fichier, filename peut avoir l’un des formats suivants.

Emplacement

Format

Dossier courant ou dossier sur le chemin MATLAB

Spécifiez le nom du fichier dans filename.

Exemple : "myFile.mat"

Fichier dans un dossier

Si le fichier ne se trouve pas dans le dossier courant ni dans un dossier situé sur le chemin MATLAB, spécifiez le chemin complet ou relatif dans filename.

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

Exemple : "dataDir\myFile.mat"

Emplacements distants

Si le fichier est stocké à un emplacement distant, spécifiez filename sous forme d’URL (Uniform Resource Locator) au format suivant :

schemeName://pathToFile/fileName.mat

Selon l’emplacement distant concerné, schemeName peut être l’une des valeurs du tableau suivant.

Emplacement distantschemeName
Amazon S3™s3
Windows Azure® Blob Storagewasb, wasbs
HDFS™hdfs

Pour plus d’informations sur la configuration de MATLAB pour accéder à un service de stockage en ligne, consultez Work with Remote Data.

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

Lorsque vous utilisez load sous forme de commande, il n’est pas nécessaire de placer l’entrée entre guillemets simples ou doubles. Toutefois, si filename contient un espace, vous devez placer l’argument entre guillemets simples. Par exemple, load 'filename withspace.mat'.

Noms des variables à charger, spécifiés sous forme d’un ou plusieurs scalaires de chaîne de caractères (string scalars) ou vecteurs de caractères. Lorsque vous utilisez load sous forme de commande, il n’est pas nécessaire de placer l’entrée entre guillemets simples.

variables peut avoir l’un des formats suivants.

Format de l’entrée variablesVariables à charger
var1,var2,...,varNChargez les variables répertoriées, spécifiées sous forme de string scalars ou de vecteurs de caractères individuels. Utilisez le caractère de remplacement "*" pour mettre en correspondance des patterns. Par exemple, load("filename.mat","A*") ou load filename.mat A* charge toutes les variables du fichier dont le nom commence par A.
"-regexp",expr1,expr2,...,exprNChargez uniquement les variables dont le nom correspond aux expressions régulières spécifiées sous forme de string scalars ou de vecteurs de caractères. Par exemple, load("filename.mat","-regexp","^Mon","^Tues") ou load filename.mat -regexp ^Mon ^Tues charge uniquement les variables du fichier dont le nom commence par Mon ou Tues.

Limitations

  • Lors de l’utilisation de données distantes, load ne supporte pas le traitement du fichier en entrée en tant que fichier ASCII.

Conseils

  • Vous pouvez appliquer les stratégies suivantes pour accélérer le chargement des fichiers MAT à partir de lecteurs réseau :

    • Utilisez la fonction copyfile pour copier le fichier depuis le lecteur réseau vers un lecteur local avant d’appliquer la fonction load à la copie locale.

    • Utilisez la fonction matfile pour accéder au fichier sans le charger dans l’espace de travail.

    • Réduisez ou désactivez l’actualisation du panneau « Files ». Pour ce faire, accédez à l’onglet Home et dans la section Environment, sélectionnez Settings. Sélectionnez MATLAB > Current Folder. Vous pouvez soit augmenter la valeur Number of seconds between auto-refresh pour qu’elle soit supérieure à la valeur par défaut 3, soit décocher la case Auto-refresh view from file system pour désactiver cette fonctionnalité.

Algorithmes

Si vous ne spécifiez pas de sortie lors du chargement à partir d’un fichier ASCII, la fonction load crée une variable portant le nom du fichier chargé (sans l’extension du fichier). Par exemple, la commande load mydata.dat lit les données en les stockant dans une variable nommée mydata. Par exemple, consultez Charger un fichier ASCII.

Pour créer le nom de la variable, load fait précéder tout underscore ou chiffre figurant au début de filename d’un X et remplace tous les autres caractères non alphabétiques par des underscores. Par exemple, la commande load 10-May-data.dat crée une variable nommée X10_May_data.

Capacités étendues

développer tout

Historique des versions

Introduit avant R2006a

développer tout