Bonjour à toutes et à tous.
Le contexte :
On m'a confier la tâche de créer une série de diagnostiques pour un programme avec matlab. Les diagnostiques existent déjà, mais en fortran 77, et ne sont absolument pas efficace. D'où ma tâche...
L'écriture des fichiers est spécialement conçu pour les diagnostiques fortran, et pas du tout pour matlab. Comme il faut que les deux types de diagnostiques puissent être utilisé, je ne peux pas modifier dans le programme initial les écritures des données.
Le problème :
Les fichiers ont une ou deux lignes de type :
t,EPRE,EDPHI,EDPSI,EVPL,ECUR
ou bien
t= 100.
mode,m,n,edphi
puis viennent les données.
en utilisant fopen, je peux lire la (les ) première(s) ligne(s), mais pas moyen de lire la matrice de données ensuite :
- fread me sort des valeurs qui n'ont rien a voir avec le fichier initial (j'ai tester tous les types de precision, rien à faire).
- fscanf ne fonctionne pas non plus.
Je suppose que c'est parce qu'il y a des virgules et des espaces partout dans les fichiers de données... (oui, c'est très mal fichu...)
Par contre, si je commente à la main les premières lignes et qu'ensuite, j'utilise un simple load, alors ça marche super !
Bref, je voulais savoir s'il est possible de
1) ouvrir un fichier, récupérer les données d'en-têtes, commenter les en-têtes, et de faire un "load" sur les données qui restent...
2) Ouvrir un fichier, lire les en-têtes, fermer le fichier. Lancer un shell script depuis matlab pour réarranger les données proprement, simplement, et méthodiquement dans un fichier temporaire, faire un "load" avec mon fichier temporaire, et supprimer le fichier temporaire par un autre shell script simple.
3) une autre solution à laquelle je n'ai pas pensé !
Quelque soit le cas, comment écrire celà dans un .m
Je ne sais pas si je suis bien clair... Mais si quelqu'un à une idée de comment me sortir de là, ce serait super !
Merci d'avance.
-----