Sauvegarde et importation de données dans Octave
Dans cette leçon Octave, je vais expliquer comment sauvegarder et charger des données à l'aide de fichiers dans Octave.
Pourquoi est-il important de sauvegarder des données ? Sauvegarder des données signifie stocker les données qui sont dans la RAM de l'ordinateur dans un fichier sur le disque dur ou un autre support de stockage (par exemple une clé USB). Les données dans la RAM de l'ordinateur sont volatiles, ce qui signifie que vous les perdrez lorsque vous éteignez l'ordinateur ou fermez Octave. En revanche, les données sauvegardées dans un fichier sont permanentes et peuvent être rechargées dans la RAM lorsque vous allumez l'ordinateur, sans avoir à les réécrire à chaque fois.
Comment sauvegarder des données
Permettez-moi de vous donner un exemple pratique.
Créez trois tableaux nommés M1, M2, M3
>> M1=[1 2 3; 4 5 6];
>> M2=[7 8 ; 9 1];
>> M3 = [ 3 4; 5 6; 8 9];
Il y a maintenant trois tableaux en mémoire.
Pour sauvegarder toutes les données en mémoire, utilisez la commande save suivie du nom de fichier
>> save nomdefichier.mat
Ensuite, effacez toutes les données en mémoire avec la commande clear
>> clear
Toutes les données ont été supprimées de la mémoire.
Si vous essayez d'appeler la matrice M1, Octave renvoie une erreur
>> M1
error: 'M1' undefined near line 1 column 1
Pour charger les données à partir du fichier dans la mémoire, utilisez la commande load suivie du nom de fichier
>> load nomdefichier.mat
Maintenant, les données sont de retour en mémoire.
Si vous essayez d'appeler le tableau M1, vous pouvez voir son contenu
>> M1
M1 =
1 2 3
4 5 6
Note. Dans cet exemple, je vous ai montré comment sauvegarder des tableaux, mais la fonction de sauvegarde fonctionne avec tous les objets et structures de données (variables, graphiques, tableaux, etc.). Les procédures de sauvegarde et de chargement sont toujours les mêmes."
Comment sauvegarder uniquement des objets spécifiques
Octave vous permet également de sauvegarder sélectivement. Dans ce cas, vous devez spécifier quels objets vous souhaitez sauvegarder dans le fichier.
Par exemple, pour sauvegarder uniquement la matrice M1, tapez :
>> save nomdefichier2.mat M1
Pour sauvegarder les matrices M1 et M2, il vous suffit de taper :
>> save nomdefichier3.mat M1 M2
Alternativement, vous pouvez également utiliser cette syntaxe pour sauvegarder les données.
>> save("nomdefichier3.mat", "M1", "M2")
Note. Si vous souhaitez ajouter des objets supplémentaires à la sauvegarde des données, indiquez-les en insérant un paramètre supplémentaire après le nom de fichier. Par exemple, pour sauvegarder trois objets, écrivez save nomdefichier3.mat M1 M2 M3 ou save("nomdefichier3.mat", "M1", "M2", "M3").
Pour sauvegarder tous les objets commençant par la lettre M, utilisez le caractère spécial *
>> save nomdefichier3.mat M*
Dans tous les cas, le chargement des données en mémoire se fait toujours de la même manière.
Pour charger les données en mémoire, vous devez utiliser la commande load.
load nomdefichier2.mat
Comment charger un seul objet
Si vous avez stocké de nombreux objets dans un fichier, vous pouvez opter pour un chargement sélectif pour ne charger que les objets nécessaires et éviter de charger ceux qui ne le sont pas.
Pour ce faire, vous devez spécifier les objets spécifiques que vous souhaitez charger en mémoire.
Pourquoi utiliser un chargement sélectif ? Le chargement sélectif est extrêmement utile lorsque vous travaillez avec de grandes quantités de données. Si un fichier contient de nombreux objets, les charger en mémoire peut entraîner un gaspillage inutile d'espace mémoire, des temps de traitement lents et même provoquer une erreur de débordement de mémoire. En général, il est bon de charger en mémoire uniquement les données nécessaires pour le traitement.
Par exemple, dans le fichier nommé nomefile.mat, vous avez déjà sauvegardé les matrices M1, M2 et M3.
Pour charger uniquement la matrice M1 en mémoire, tapez
>> load nomdefichier.mat M1
De cette manière, vous chargez la matrice M1 en mémoire, mais pas les matrices M2 et M3 qui sont également présentes dans le fichier.
Pour charger les matrices M1 et M2 en mémoire, tapez
>> load nomdefichier.mat M1 M2
Cette commande charge les matrices M1 et M2 en mémoire, mais pas la matrice M3.
Alternativement, vous pouvez également utiliser cette syntaxe de chargement sélectif.
>> load("filename.mat","M1","M2")
Note. Pour charger trois objets ou plus en mémoire, ajoutez les autres objets en tant que paramètres supplémentaires de la commande load. Par exemple, load nomdefichier.mat M1 M2 M3
Pour charger tous les objets commençant par M, tapez
>> load nomdefichier.mat M*
Comment sauvegarder un fichier de données au format binaire
Octave vous permet également de sauvegarder des données au format binaire.
Dans ce cas, vous devez ajouter l'option -binary à la commande save.
>> save -binary nomdefichier4.mat
Pour charger les données en mémoire, vous pouvez utiliser la même méthode qu'auparavant.
>> load nomdefichier4.mat
Options de sauvegarde supplémentaires
La commande save dispose d'autres options très utiles :
- -append
ajoute des données à un fichier existant sans supprimer les données préexistantes - -zip
compresse les données (utile pour les grandes quantités de données) - -ascii
permet de sauvegarder les données au format texte - -binary
permet de sauvegarder les données au format binaire - -hdf5
permet de sauvegarder les données au format HDF5
Si vous avez besoin d'inclure plusieurs options dans la commande "save", vous pouvez utiliser cette syntaxe générale
>> save ("-option1", ..., "file", "v1", ...)
Pour voir toutes les options disponibles pour la commande "save", vous pouvez consulter l'aide d'Octave
>> help save
Maintenant, vous disposez de toutes les informations nécessaires pour sauvegarder et charger des données dans Octave.