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

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] 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

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

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

‘a’

nouveau fichier; efface le contenu du fichier 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

un entier non négatif si aucune erreur à l’ouverture -1 si une erreur se produit

o fid =

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

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’ = ‘short’ et ‘long’ = ‘float’ et ‘double’ =

caractères signés et non signés (8 bits) entiers courts et longs (16 et 32 bits) 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’ = ‘short’ et ‘long’ = ‘float’ et ‘double’ =

Lire des données texte

caractères signés et non signés (8 bits) entiers courts et longs (16 et 32 bits) valeurs à virgule flottante de précision simple et double (32 et 64 bits) (par défaut)

A = fscanf(fid, ‘forma’t , taille) : lit un fichier texte identifié par fid et retourne les données dans une matrice A

‘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

o

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’

‘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

o

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

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

o

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

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)