Tom's Guide > Forum > Programmation > comment lire des fichiers txt en boucle sous Matlab

comment lire des fichiers txt en boucle sous Matlab

Forum Programmation : comment lire des fichiers txt en boucle sous Matlab

TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique. Pour obtenir de l'aide, inscrivez-vous gratuitement !
Mot :    Pseudo :           
 

Bonjour.

Donc voila, j'ai un pb: j'ai deux cent fichiers textes a lire et pour chaque fichier il y a deux colonnes de dimension identique pour le mm fichier mais variable d'un fichier a l'autre. Et mon job serait de lire pour chaque fichier la derniere ligne de ma deuxieme colonne.

Pour l'instant j'ai reussi a afficher sous Matlab la bonne valeur mais pour un seul fichier texte :

k=3;
a=dlmread('cdn16002a0m8.txt','\t',k,0);
n=size(a);
n(1);
b=dlmread('cdn16002a0m8.txt','\t',n(1)-1+k,1);
b(1)

Mnt j'aimerais faire une boucle sur tous mes fichiers textes comme un truc de ce genre:

for i=0:5
for j=6:14
k=3;
a=dlmread('cdn16002aimj.txt','\t',k,0);
n=size(a);
n(1);
b=dlmread('cdn16002aimj.txt','\t',n(1)-1+k,1);
b(1)
end
end

Mais bien evidemment ca ne marche pas car Matlab cherche a ouvrir sur mon disque un fichier qui s'appelle 'cdn16002aimj' ...

Si quelqu'un a une idee!

Merci d'avance

Pascal

Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

Matlab ne me parait pas le plus approprié pour ce genre de programme, mais passons ;)

Code :
  1. a=dlmread(  strcat('cdn16002aim',num2str(j),'.txt')  ,'\t',k,0);


Il faut d'abord convertir Le nombre contenu dans j en chaîne de caractères, puis, il faut concaténer toutes les chaînes de caractères.

http://www-ccs.ucsd.edu/matlab/tec [...] oup16.html


Message édité par CRicky le 19-03-2007 à 19:34:08
------------------------------ 6800A007B81300CD10B00131C989CF26880541
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky

Merci CRicky.

Je vais essayer de voir ca. Je te tiens au courant :)

Pascal

PS: pour ce genre de pg, tu me conseillerais quoi au lieu de Matlab?

Répondre à pascal27@IDN

Re bonjour.

Je n'y arrive pas, j'ai du mal a utiliser la fonction num2str et strvcat. A chaque fois, Matlab dit que je n'utilise pas comme il faut la fonction dlmread.

Si quelqu'un pourrait m'aider un peu plus, ce serait super sympa.

Pascal

Répondre à pascal27@IDN

C'est strcat pas strvcat.
Peux-tu montrer ce que tu as mis ?

ps: pour le langage, je pense qu'un langage classique comme le C serait plus performant

------------------------------ 6800A007B81300CD10B00131C989CF26880541
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky

Ah voila, je ne sais pas pourquoi j'essayais de corriger mon programme avec la fonction strvcat et non strcat.

Donc la ca marche! C'est niquel! :)

Merci beaucoup CRicky :jap:

Pascal

Répondre à pascal27@IDN

moi j ai un pb bcp plus complexe. en fait j ai un dossier qui contient 1400 fichier dont les noms ne releve aucune correspondance et je doit les lire un par donc je pense pas q on peut faire une boucle sur les noms. est ce que par exemple peut on lire d'un dossier sur Matlab.
est ce que quelqu un peut m'aider.

Merci d avance.

Répondre à sas_sabeur

si non tu fais un renomage de groupe qui ajoute un chifre croisant sur tes fichier text

( ps : je suis un boulet mais au moin ma solution peut t'aider )

Répondre à andrelec1

sas_sabeur, c'est typiquement le genre de programme qui ne se fait pas avec matlab :)

------------------------------ 6800A007B81300CD10B00131C989CF26880541
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky

Merci pour votre aide mais il y a toujours de solution

Répondre à sas_sabeur
Tom's Guide > Forum > Programmation > comment lire des fichiers txt en boucle sous Matlab
Aller à :

Il y a 2437 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens