[Matlab] Traitement de données textuelles (fichier.txt)

Tout ce qui concerne les différents logiciels mathématiques (Matlab, Maxima, Scilab, R, Maple, Mathematica, ...) et les calculatrices scientifiques.
Règles du forum
Merci d'éviter le style SMS dans vos messages et de penser à utiliser la fonction Recherche avant de poster un message. Pour joindre des fichiers à vos messages, consulter ce sujet.
> Penser à utiliser les balises Code pour poster du code.
> Préciser le nom du logiciel concerné dans le titre de votre message.

[Matlab] Traitement de données textuelles (fichier.txt)

Messagepar NoBusy » Mardi 03 Janvier 2017, 15:41

Bonjour tout le monde!
Pour commencer bonne année!

Je vous explique mon problème ahah, je me débrouille plutôt bien en C/Cpp, VHDL et assembleur (sur PIC surtout) donc vous pouvez me parler en language barbare de programmeur.
J'ai plusieurs fichiers de 800.000 lignes à traiter, alors pour commencer je l'avais fait avec Excel, mais... le temps de traitement est horriblement long! Je voudrais essayer de faire les traitements avec MatLab pour gagner en temps, automatiser la fonction et surtout apprendre de nouvelles choses!

Les lignes de texte dans mon fichier .txt ressemble à ça:


Device@:6B:Register@:00;Value:E0
Device@:6B:Register@:01;Value:D8
Device@:6B:Register@:02;Value:E1 %lecture des valeurs des registres de 00 à F4 du device 6B
...
Device@:6B:Register@:F4;Value:00
INFO: tralalilalalala
Device@:6B:Register@:21BF;Value:00
INFO: tralalilalalala
Device@:4C:Register@:00;Value:E0
Device@:4C:Register@:01;Value:D8
Device@:4C:Register@:02;Value:E1 %lecture des valeurs des registres de 00 à F4 du device 4C
...
Device@:4C:Register@:F4;Value:00
INFO: tralalilalalala
Device@:6B:Register@:00;Value:E3
Device@:6B:Register@:01;Value:D2
Device@:6B:Register@:02;Value:E4 %lecture des valeurs des registres de 00 à F4 du device 6B
...
Device@:6B:Register@:F4;Value:00
INFO: tralalilalalala
Device@:6B:Register@:21BF;Value:00
INFO: tralalilalalala
Device@:4C:Register@:00;Value:E0
Device@:4C:Register@:01;Value:D8
Device@:4C:Register@:02;Value:E1 %lecture des valeurs des registres de 00 à F4 du device 4C
...
Device@:4C:Register@:F4;Value:00




Je n'aurais Matlab que demain, j'ai commencé à faire quelque ligne de Matlab sans avoir le logiciel entre les main pour le moment... (j'ai quelques notions de matlab vu en cours il y a 3-4 ans)

-----
clear all
close all

%Ouverture et acquisition des données dans la matrice Data
[FileName,PathName] = uigetfile('*.txt','Sélectionnez le fichier texte');
fid=fopen(fullfile(PathName,FileName),'r');
Data = textscan(fid, '%s', 'delimiter', '\n');
fclose(fid);
------

Là j'ouvre le fichier qui m'interresse, et le stock dans la variable Data.

J'ai lu qu'on pouvait utiliser la fonction textscan pour extraire des données bien particulière de mon fichier Data et les mettre dans un tableau.

Dans l'absolue je voudrais creer une matrice pour devices 6B et une pour device 4C de X colonnes représentant le nombre de fois où j'ai lu les valeurs registres et de 245(F4h+1) lignes (nombre de registres lu). et dans la case je voudrai mettre la valeur courante lu.
Ah et je voudrais aussi ne pas prendre en compte les registres avec les 4 chiffre hexa, juste prendre les 00 à F4.
En gros ca donnerait ça sous forme de tableau du device 6B avec comme première colonne l'adresse du registre

C1 C2 C3
00 E0 E3
01 D8 D2
02 E1 E4
...
4F 00 00


Pouvez-vous me dire quelle fonction utiliser pour me donner les bons outils pour essayer de réussir par moi même. Je pense pas que ça soit très dure à faire sous matlab et que ca nécéssite juste quelques lignes de code...

J'attend vos aides charitables!

Merci d'avance!

Kevin (oui je sais triste prénom...)
NoBusy
Utilisateur
 
Messages: 1
Inscription: Mardi 03 Janvier 2017, 15:37
Statut actuel: Post-bac | Doctorat

Publicité

Re: [Matlab] Traitement de données textuelles (fichier.txt)

Messagepar OG » Mercredi 04 Janvier 2017, 09:47

Bonjour

Je ne travaille pas avec Matlab. Comme tu connais C++ et autres, pourquoi ne pas utiliser Python
qui propose une bonne gestion de traitement de fichiers, les expressions régulières, etc, et, via Numpy, Scipy, Matplotlib
(et peut-être d'autres extensions adaptées au pb) du calcul scientifique ?

O.G.
OG
Modérateur
 
Messages: 2202
Inscription: Lundi 12 Mars 2007, 11:20
Localisation: Rouen
Statut actuel: Actif et salarié | Maître de conférence


Retourner vers Logiciels mathématiques

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité