Lorem

Delete this widget in your dashboard. This is just an example.

Ipsum

Delete this widget in your dashboard. This is just an example.

Dolor

Delete this widget in your dashboard. This is just an example.
 

Liste des commandes pour la manipulation des fichiers sous Matlab

dimanche 6 mai 2018


Liste des commandes pour la manipulation des fichiers sous Matlab



cour et exercice matlab

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
- ‘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
fclose(‘all’) : ferme tous les fichiers ouverts

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

L = fgets(fid) : lit une ligne d’un fichier texte identifié par fid et l’enregistre
dans une chaîne de caractères L sans le caractère de fin de ligne
- retourne -1 si fgets rencontre la fin du fichier
- fichiers texte seulement
- commence la lecture de la ligne à partir de l’indicateur de position
(par défaut, le début du fichier à son ouverture)
Ecrire des fichiers texte
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
- ‘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



Exercice 1
1.       Ecrire deux fonctions codch et decodch qui reçoivent comme paramètres d’entrée une ligne de texte et une variable numérique. La fonction codch renvoie en sortie une ligne de texte codé avec le code contenu dans la variable numérique, tandis que la fonction decodch permet de le décodage (opération inverse).
(Le codage de la ligne consiste par exemple à faire une opération arithmétique entre la valeur de la variable et le code ascii de la ligne du texte).
2.       Créer trois fichiers texte (fich1.txt,  fich2.txt et fich3.txt) ;
3.       Ouvrir le fichier fich1.txt avec la commande : edit fich1.txt et saisissez quelques lignes de texte et sauvegarder le contenu.
4.       Ouvrir le fichier fich1.txt en mode lecture et le fichier fich2.txt en mode écriture (ajout).
Utiliser la fonction codch pour coder chaque ligne de fich1.txt et envoyer le résultat (texte codé) dans le fich2.txt. (Utiliser la fonction fgets ou fgetl pour lire les lignes de texte du fichier)
5.       Vérifier le contenu du fich2.txt avec la commande type fich2.txt
6.       Utiliser la fonction decodch pour décoder le contenu du fichier fich2.txt. le résultat de décodage sera enregistré dans le fichier fich3.txt

Réponse

1.
function B=codch(A,n)

A=double (A);
B=A+n;
B=char(B);


function B=decodch(A,n)

B=double (A)- n;
B=char(B);




2.


a=fopen('fich1.txt','w');
b=fopen('fich2.txt','w');
c=fopen('fich2.txt','w');

// lecture et codage des lignes de fich1.txt


m=fopen('fich1.txt','r');

n=10;
i=1;
while (i>0)
    i=fgets(m);
    B=codch(i,n);
    fprintf(b,'%s\n',B);
end


z=fopen('fich2.txt','r');
x=fopen('fich3.txt','a');


// lecture des lignes de fich2.txt et décodage dans fich3.txt

j=1;
while (j>0)
    j=fgets(z);
    B=decodch(j,n);
    fprintf(x,'%s\n',B);
end




0 commentaires:

Enregistrer un commentaire

Lorem

Please note: Delete this widget in your dashboard. This is just a widget example.

Ipsum

Please note: Delete this widget in your dashboard. This is just a widget example.

Dolor

Please note: Delete this widget in your dashboard. This is just a widget example.