Lecture d un fichier avec matlab

Lecture d un fichier avec matlab - Algo - Programmation

Marsh Posté le 05-07-2004 à 11:43:03    

Bonjour,
 
je dois réaliser un programme matlab. Ce prog doit récupérer des valeurs dans un fichier Excel (il est pe possible de transformer ce fichier Excel en fichier texte mais au risque de perte...)
est ce que quelqu un pourrait me mettre sur la voie? comment lire un fichier Excel en matlab?
est ce qu il serait plus judicieux de coder la lecture du fichier en C (et d utiliser une dll par exemple, mais dans ce cas comment utiliser la dll sous matlab par la suite?)
Est ce qu il est possible d integrer du code C dans matlab?
 
 
D'avance merci.

Reply

Marsh Posté le 05-07-2004 à 11:43:03   

Reply

Marsh Posté le 06-07-2004 à 10:07:17    

je dois avouer que matlab, ça fait un moment que j'en ai fait (à la fac) et ce qui est sûr c'est que j'en ai pas vu grand chose
 
en tout cas, pour le fichier excel, ça je peux t'informer sans problème :
le mieux, c'est de le transformer en fichier .csv (format américain, donc le séparateur entre chaque valeur est une virgule, donc vérifier que tes décimales est bien un . à la place d'une ,)
et tu lis ce fichier facile en C (tu peux peut-être faire pareil avec matlab, là je sais pas) avec juste des readln et à chaque fois que tu vois une , tu ajoutes la valeur dans un tableau dynamique
 
(normalement, le code de lecture du fichier plus chargement dans un tableau : 20 à 40 lignes de code)
 
le pb est de relier ton tableau dynamique avec matlab, solution : il faut que ton programme accepte des paramètres de type chaîne et te renvoie la valeur à un index du tableau (là t'es pas obligé de transfomer ton .exe en .dll, même si un .dll te permettrais de te mettre à disposition toutes les fonctions que tu codes dont tu pourrais avoir besoin)
je reprends : load_valeur.exe et ton programme C avec en paramètre (value1 = char[255], value2 = char[255]) et renvoie un integer
tu peux faire :
load_valeur.exe(*, *) = retourne la taille de ton tableau
load_valeur.exe(1, 1) = retourne la valeur à l'index 1 du tableau
load_valeur.exe(x, x) = retourne la valeur à l'index x du tableau
 
maintenant, si t'arrives à lire le fichier en matlab directement, ce que je viens d'expliquer est toujours valable, en effet : tu fais une fcontion de lecture et chargement dans un tableau déclaré publiquement,
puis tu fais la fonction load_valeur(aChar : char[255], aChar : char[255])
 
si c'est la toute première fois que tu fais ce genre d'appli, peut-être ne voies tu pas l'intérêt réel de faire appel à un fonction load_valeur dans matlab, cependant, il est toujours très utile de séparer lecture des données du reste de l'application, car ainsi ton traitement des données fonctionne sans avoir à s'inquiéter des données récupérées, la donnée fournie est toujours bonne (tous les tests de vérification de données doivent être faits dans : load_valeur)
 
(si t'es en fac et que tu expliques ça à ton prof lorsque tu présentes un projet, je peux te dire que ça t'augmente bien ta "notoriété" via-à-vis de ce dernier)

Reply

Marsh Posté le 08-07-2004 à 11:54:05    

merci pour toutes ces infos auredauv!
 
effectivement je vais séparer la lecture des fichiers du reste du programme : ca me parait plus simple et en plus ca sera plus clair (et donc plus facile a debugger)
 
encore merci et pe à plus.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed