Vous êtes sur la page 1sur 7

Liste des commandes (non exhaustive) sous Matlab

Cours 3 : Fonctions d’Entrée/Sortie sous Matlab

Format d’affichage des données

• format form : Imposer un format d’affichage de type form


o form = format d’affichage
 short = format court à 5 chiffres (par défaut)
 long = format long à 15 chiffres
 short e = format court à 5 chiffres en virgule flottante
 long e = format long à 15 chiffres en virgule flottante
 short g = meilleur des deux formats courts à 5 chiffres
 long g = meilleur des deux formats longs à 15 chiffres

Affichage simple des données

• disp(A) : afficher le contenu d’un tableau A de valeurs numériques ou de


caractères (texte) sans écrire le nom de la variable
o toutes les valeurs du tableau doivent être du même format (soit du texte
soit des valeurs numériques)

• num2str(A) : convertir les données numériques contenues dans le tableau A


en une chaîne de caractères

Lecture simple des données

• input(‘texte’) : demander à l’utilisateur de saisir des données numériques à la


suite d’une message ‘texte’ qui s’affiche à l’écran
o retourne les données saisies dans la variable var
o fin de la saisie : retour chariot
• input(‘texte’,’s’) : demande à l’utilisateur de saisir des données texte (chaîne
de caractères)à la suite d’une message ‘texte’ qui s’affiche à l’écran

Importer des données texte : commandes Matlab

• load nomfich.ext : importe dans l’espace de travail les données contenues


dans le fichier nomfich.ext
o par défaut, les données contenues dans nomfich.ext sont importées
dans une variable appelée nomfich
o importe des données numériques seulement
o caractère séparateur de données = caractère espace seulement
o même nombre d’éléments dans chaque ligne
o par défaut, cherche à importer un fichier .MAT si aucune extension .ext
n’est pas spécifiée

F. Nicol – Matlab : E/S Page 1


• A = load(‘nomfich.ext’) : retourne dans le tableau A le contenu du fichier
nomfich.ext
• A = dlmread(‘nomfich.ext’,’séparateur’, range) : retourne dans la variable A
les données ASCII du fichier nomfich.ext délimitées par le caractère
séparateur ‘séparateur’
o importe des données numériques seulement
o ‘séparateur‘ = ‘,’ séparateur virgule (par défaut)
‘ ;’ séparateur point-virgule
‘\t’ séparateur tabulation
…etc…
o range = [R1 C1 R2 C2] : vecteur définissant le bloc de données à
importer
 R1 et C1 = position (resp. ligne et colonne) du coin supérieur
gauche
 R2 et C2 = position (resp. ligne et colonne) du coin supérieur
droit
 les lignes et les colonnes se comptent à partir de 0
 par défaut, [R1 C1 R2 C2] = [0 0 N M] où N est le nombre de
lignes et M le nombre de colonnes du fichier nomfich.ext
• A = csvread(‘nomfich.ext’, R, C, range) : retourne dans la variable A les
données ASCII du fichier nomfich.ext délimitées par le caractère séparateur
virgule uniquement
o importe des données numériques seulement
o R et C = position (resp. ligne et colonne) de début de lecture des
données dans le fichier (par défaut, R = 0 et C = 0)
o range = [R1 C1 R2 C2] : vecteur définissant le bloc de données à
importer
 R1 et C1 = position (resp. ligne et colonne) du coin supérieur
gauche (correspondants à R et C)
 R2 et C2 = position (resp. ligne et colonne) du coin supérieur
droit
• A = textread(‘nomfich.ext’,’format’,’param’,value) : retourne dans la
variable A les données du fichier nomfich.ext dans un format spécifié. La
commande textread permet d’importer des données numériques et du texte
o format = format des données (%f, %s, …)
o param = paramètres supplémentaires prenant les valeurs value

Importer des données binaires

• auread : importe des données audio de format Sun Microsystems


• wavread : importe des données audio de format Windows
• aviread : importe des données audiovisuelles de format AVI
• imread : importe des données images de différents formats
• load : importe des données variables Matlab de format MAT
• xlsread : importe des données de format classeur Excel
• wk1read : importe des données de format classeur Lotus
• hdf : importe des données de format hdf

F. Nicol – Matlab : E/S Page 2


Exporter des données texte

• diary nomfich.txt … diary off : crée une copie de la session Matlab et de


toutes les commandes exécutées dans un fichier nomfich.txt (excepté les
graphiques)
o si le fichier existe déjà, les données exportées sont placées à la fin du
fichier (les données existantes ne sont pas écrasées)
• dlmwrite(‘nomfich.txt’,M,’séparateur’) : exporte le tableau M dans le fichier
nomfich.txt au format ASCII
o séparateur : tout caractère (qui apparaît entre les items sauf en fin de
ligne)
‘,’ = virgule (par défaut)
‘ ‘ = espace
‘’ = pas de séparateur
• save nomfich.txt var1 var2 var3 -ASCII –TABS : exporte les variables var1
var2 et var3 dans le fichier nomfich.txt au format ASCII
o par défaut, le caractère séparateur des données est le caractère
espace par défaut ou tabulation si option –TABS est spécifiée
o par défaut, exporte les données dans un fichier .MAT si l’option -ASCII
n’est pas spécifiée
• fprintf : fonction d’Entrée/Sortie de bas niveau

Exporter des données binaires

• auwrite : exporte des données audio dans le format Sun Microsystems


• wavwrite : exporte des données audio dans le format Windows
• aviwrite : exporte des données audio-vidéo dans le format AVI
• addframe : capture les clichés et les sauvegarde dans un fichier AVI
• imwrite : exporte les données images dans différents formats (*.jpeg, *.tiff,
*.bmp, *.giff, …)
• wk1write : exporte les données dans le format classeur Lotus
• save : exporte des variables Matlab dans le format MAT
• hdf : exporte les données dans le format HDF

Exporter une séquence de graphiques Matlab

• aviobj=avifile(‘nomfich.avi’,’Propriété’,valeur,…) : crée un fichier


nomfich.avi et retourne un objet fichier AVI avec des propriétés spécifiées
• addframe : capture une séquence de graphiques dans un fichier AVI
• close : Ecrire et fermer le fichier AVI
• movie2avi : convertir une animation Matlab existante en fichier AVI

F. Nicol – Matlab : E/S Page 3


Fonctions d’Entrée/Sortie de bas niveau

Ouverture et fermeture d’un fichier

• fid=fopen(‘nomfich.ext’,’permission’) : ouvre un fichier nomfich.ext et


retourne un entier identificateur de fichier dans fid
o ‘permission’ =
 ‘r’ ouvre en lecture seulement un fichier existant (par défaut)
 ‘w’ ouvre en écriture seulement un fichier existant ou créé un
nouveau fichier; efface le contenu du fichier
 ‘a’ ouvre en écriture seulement un fichier existant ou créé un
nouveau fichier; le contenu n’est pas effacé
place les nouvelles données écrites à la fin du fichier
 ‘r+’ ouvre en lecture et en écriture un fichier existant
place les nouvelles données écrites en début de fichier et
écrase le contenu du fichier
 ‘w+’ ouvre en lecture et en écriture un fichier existant ou crée un
nouveau fichier; efface le contenu du fichier
 ‘a+’ ouvre en lecture et en écriture un fichier existant ou crée un
nouveau fichier; le contenu n’est pas effacé
place les nouvelles données écrites à la fin du fichier
• [fid,message]=fopen(‘nomfich.ext’,’permission’) : retourne un entier
identificateur de fichier dans fid et un message d’erreur dans message si une
erreur se produit à l’ouverture du fichier nomfich.ext
o fid = un entier non négatif si aucune erreur à l’ouverture
-1 si une erreur se produit
• status=fclose(fid) : ferme un fichier identifié à par fid lors de son ouverture
par la commande fopen
o retourne un entier non négatif = 0 si le fichier est correctement fermé
1 si une erreur se produit lors de la
fermeture
• status = fclose(‘all’) : ferme tous les fichiers ouverts

Ouverture d’un fichier et de répertoires temporaires

• tempdir : retourne le nom du répertoire temporaire


• tempname : génère un nom d’un fichier temporaire

F. Nicol – Matlab : E/S Page 4


Lire des données binaires

• A=fread(fid, taille, ‘précision’) : lit tout ou partie d’un fichier binaire identifié
par fid lors de son ouverture et retourne les données dans une matrice A
o taille : étendue des valeurs lues dans le fichier
N = lit les N premières valeurs du fichier
inf = lit jusqu’à la fin du fichier (par défaut)
[n m] = lit les valeurs du fichiers arrangées dans un tableau n*m
o ‘précision’ : contrôle le type des données pour chaque valeur
‘char’ et ‘uchar’ = caractères signés et non signés (8 bits)
‘short’ et ‘long’ = entiers courts et longs (16 et 32 bits)
‘float’ et ‘double’ = valeurs à virgule flottante de précision
simple et double (32 et 64 bits) (par défaut)
• disp(A) : affiche le contenu d’un tableau de valeurs numériques A ou d’une
chaîne de caractères

Ecrire des données binaires

• count=fwrite(fid, A, ‘précision’) : écrit les éléments d’une matrice A dans un


fichier identifié par fid et les enregistre dans un format numérique spécifié par
‘précision’
o retourne le nombre d’éléments écrits dans le fichier
o ‘précision’ : contrôle le type des données pour chaque valeur
‘char’ et ‘uchar’ = caractères signés et non signés (8 bits)
‘short’ et ‘long’ = entiers courts et longs (16 et 32 bits)
‘float’ et ‘double’ = valeurs à virgule flottante de précision
simple et double (32 et 64 bits) (par défaut)

Lire des données texte

• A = fscanf(fid, ‘forma’t , taille) : lit un fichier texte identifié par fid et retourne
les données dans une matrice A
o ‘format’ : interprétation des données
‘%s’ = interprète une chaîne de caractères
‘%d’ = interprète des entiers
‘%e’, ‘%f’ et ‘%g’ = nombres à virgule flottante
‘%*d’ = passe les valeurs entières dans les données
o taille : étendue des valeurs lues dans le fichier
N = lit les N premières valeurs du fichier
inf = lit jusqu’à la fin du fichier (par défaut)
[n m] = lit n*m éléments du fichier arrangés dans un tableau n*m

F. Nicol – Matlab : E/S Page 5


• A = sscanf(S, ‘forma’t , taille) : lit les données à partir d’une chaîne de
caractères S et les retourne dans une matrice A, converties dans un format
spécifié par ‘format’
o ‘format’ : interprétation des données
‘%s’ = interprète une chaîne de caractères
‘%d’ = interprète des entiers
‘%e’, ‘%f’ et ‘%g’ = nombres à virgule flottante
‘%*d’ = passe les valeurs entières dans les données
o taille : étendue des valeurs lues dans le fichier
N = lit les N premières valeurs du fichier
inf = lit jusqu’à la fin du fichier (par défaut)
[n m] = lit n*m éléments du fichier arrangés dans un tableau n*m

Ecrire des fichiers texte

• count = fprintf(fid,’format’ ,A) : écrit les données de la matrice A dans un


fichier identifié par fid et retourne le nombre de bytes écrit dans le fichier
o ‘format’ : interprétation des données
‘%s’ = interprète une chaîne de caractères
‘%d’ = interprète des entiers
‘%e’ = notation exponentielle
‘%f’ = valeurs décimales à virgule fixe
‘\n’ = retour à la ligne
‘\t’ = espace tabulation
• S = sprintf(‘format’, A) : écrit les données de la matrice A dans une chaîne
de caractères S plutôt que dans un fichier et convertit les données dans un
format spécifié par ‘format’

Déplacer la position de l’indicateur de position du fichier

• status = fseek(fid,offset ,origine) : positionne l’indicateur de position du


fichier identifié par fid
o retourne un entier = 0 si le déplacement se fait correctement
-1 si une erreur se produit
o offset : valeur (positive ou négative) du déplacement spécifiée en bytes
offset > 0 = déplacement vers la fin du fichier
offset = 0 = pas de déplacement
offset < 0 = déplacement vars le début du fichier
o origine : point d’origine à partir duquel on effectue le déplacement
‘bof’ ou -1 = début du fichier
‘cof’ ou 0 = position courante
‘eof’ ou +1 = fin du fichier
• pos = ftell(fid) : localise l’indicateur de position du fichier identifié par fid
o renvoie un entier non négatif spécifié en bytes : la valeur de l’offset à
partir du début du fichier (‘bof’) dans la variable pos
o retourne la valeur -1 si ftell rencontre une erreur

F. Nicol – Matlab : E/S Page 6


• tline = fgetl(fid) : lit une ligne d’un fichier texte identifié par fid et l’enregistre
dans une chaîne de caractères tline sans le caractère de fin de ligne
o retourne -1 si fgetl rencontre la fin du fichier
o fichiers texte seulement
o commence la lecture de la ligne à partir de l’indicateur de position
(par défaut, le début du fichier à son ouverture)

F. Nicol – Matlab : E/S Page 7

Vous aimerez peut-être aussi