A voir également:
- Lecture d'un fichier texte sous matlab.
- Fichier rar - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Ouvrir un fichier .bin - Guide
- Fichier host - Guide
1 réponse
khunlun
Messages postés
117
Date d'inscription
mardi 12 avril 2005
Statut
Membre
Dernière intervention
17 avril 2012
27
22 mars 2011 à 08:35
22 mars 2011 à 08:35
Bonjour
Y aurait-il un oubli ?
exemp:<propriete>;min;max;<\propriete>
Si oui, ca simplifierais grandement les choses.
function res = MaFonction(inStr)
fid = fopen(inStr,'r');
while ~feof(fid)
currentLine = fgetl(fid);
ind = strfind(currentLine, ';');
currentField = currentLine(1,1:ind(1,1)-1);
res.(currentField).min = str2double(currentLine(1,ind(1,1)+1:ind(1,2)-1));
res.(currentField).max = str2double(currentLine(1,ind(1,2)+1:ind(1,3)-1));
end
fclose(fid);
Avec la commande suivante
data = MaFonction('monFichier.txt');
data est une structure contenant les propriétés.
Ces propriétés ayant deux champs min et max.
Pour accéder à une valeur, la sintaxe est :
data.temperature.min (par exemple)
Bonne journée
Y aurait-il un oubli ?
exemp:<propriete>;min;max;<\propriete>
Si oui, ca simplifierais grandement les choses.
function res = MaFonction(inStr)
fid = fopen(inStr,'r');
while ~feof(fid)
currentLine = fgetl(fid);
ind = strfind(currentLine, ';');
currentField = currentLine(1,1:ind(1,1)-1);
res.(currentField).min = str2double(currentLine(1,ind(1,1)+1:ind(1,2)-1));
res.(currentField).max = str2double(currentLine(1,ind(1,2)+1:ind(1,3)-1));
end
fclose(fid);
Avec la commande suivante
data = MaFonction('monFichier.txt');
data est une structure contenant les propriétés.
Ces propriétés ayant deux champs min et max.
Pour accéder à une valeur, la sintaxe est :
data.temperature.min (par exemple)
Bonne journée
23 mars 2011 à 11:17
non non il n'y a pas d'oubli
je suis debutante et je n'y arrive pas trop.
voilà un exemple d'un code que j'ai fait je voudrai extraire de la variable tline (signal et calib)
pour les stocker aprés dans une structure pour l'instant je voudrai qu'il y'ait que ça dans var j'ai essayé d'utiliser la variable tline pour me simplifier la tache au lieu de lire tout le fichier texte avant d'implementer ça dans mon code qui lit le fichier text et avec la structure que j'ai crée dans mon code j'arrive à extraire tout ce qu'il y'a entre <TYPE_PROPERTIES></TYPE_PROPERTIES> par contre ça s'affiche ainsi
{'Format;#;State;#;Size;#;Unit;#;Min;#;Max;#;Resol;#;Accuracy;#;BlockPath'} et moi je veux que chaque donnée soit affiché dans une cellule. j'esper que j'ai été suffisemment clair. essayer de m'aider svp je suis debutante en matlab.
tline = '<TYPE>Signal <TYPE>Entrée <TYPE_PROPERTIES>Format;#;State;#;Size;#;Unit;#;Min;#;Max;#;Resol;#;Accuracy;#;BlockPath</TYPE_PROPERTIES></TYPE></TYPE><TYPE>calib<TYPE>calibration<TYPE_PROPERTIES>Format;#;State;#;Size;#;Unit;#;Min;#;Max;#;Resol;#;Accuracy;#;BlockPath</TYPE_PROPERTIES><\TYPE><\TYPE>';
num=1;
for i=1:numel(tline)
a = strfind(tline,'<TYPE>');
a = a(i)+length('<TYPE>');
%idxstrt = [idxstrt(i) length(tline)];
b = strfind(tline,'<TYPE>');
b= b(i+1)+length('<TYPE>');
num=num+1;
var = tline(a:(b-length('<TYPE>')-1))
end
end
voilà ce qui s'affiche quand j'excute ce code moi je veux qu'il n'yait que signal et calib
var =
Signal
var =
Entrée <TYPE_PROPERTIES>Format;#;State;#;Size;#;Unit;#;Min;#;Max;#;Resol;#;Accuracy;#;BlockPath</TYPE_PROPERTIES></TYPE></TYPE>
var =
calib
??? Attempted to access b(5); index out of bounds because numel(b)=4.
Error in ==> exemple at 13
b= b(j+1)+length('<TYPE>');