Ecrire des donnees dans un fichier .txt avec MATLAB
21/01/2010, 17h41
#1
monfilsaziz
Date d'inscription
janvier 2010
Messages
4
Modifier
------
Bonsoir superpiot04,
Je souhaite lire les donnees données par le fichier output (.lis) du Hspice sous MATLAB.
J'ai circuit electronique (AOP) et je voudrai ecrire dans le fichier Netlist (.sp) les dimensions des transistors à partir d'une fonction Matlab.
Merci de m'aider
-----
Aujourd'hui
Publicité
22/01/2010, 10h05
#2
superpiot04
Date d'inscription
décembre 2009
Messages
4
Re : Modifier un fichier texte avec MATLAB
Bonsoir superpiot04,
Je souhaite lire les donnees données par le fichier output (.lis) du Hspice sous MATLAB.
J'ai circuit electronique (AOP) et je voudrai ecrire dans le fichier Netlist (.sp) les dimensions des transistors à partir d'une fonction Matlab.
Merci de m'aider
Salut Monfils,
tu dois d'abord dans une fonction ouvrir le fichier que tu veux lire
Tu peux faire ca de cette manière:
[FileName,PathName] = uigetfile('*.rlgc','Select any text file'); //cela ouvre une fenetre qui te permet de choisir un type de fichier ( ici .rlgc)
y= [PathName,FileName];
fid=fopen(y); //ouvre ton fichier
Ensuite tu dois retrouver l'information que tu cherches. Dans mon cas, mon fichier a toujours la meme structure. Donc, j'ai recherché des mots clefs, se trouvant à proximité des valeurs que je recherchais.
Puis je sautais le nombre voulu de ligne pour me placer devant mes valeurs //tline = fgetl(fid);
Puis ce petit bout de code permet de parcourir un certain nombre de lignes et de stocker les valeurs différentes d'un espace dans une matrice
Code:
for i=1:nb_lignes
s = tline;//copie de la ligne entière dans s
compteur = 1;//permet de déplacer le curseur sur l'axe des y dans la matrice dans laquelle on va mettre les valeurs
//On se déplace sur la ligne
while 1
//stock dans token tous les caractères trouvés avant une tabulation
//et dans remain le reste de la ligne
[token, remain] = strtok(s,' ');
if isempty(token);//si tu rencontres une ligne vide(aucun caractère)
tline = fgetl(fid);//passe a la ligne suivante
break
end
//conversion de token en valeur numérique et copie de la valeur dans la matrice C
data = str2num(token);//conversion de token qui était en acsii par defaut
InitMatriceC(i,compteur)= data(1,1);//copie dans la matrice
s = remain;//on
compteur = compteur +1;
end
end
Voila pour obteni l'info.
Si tu veux ecrire dans un fichier
tu l'ouvre(ca le crée s'il n'existe pas)//fid = fopen('test.lib','w');
pour ecrire un string :fprintf(fid,'%s','bonjour ');
pour ecrire un nombre:fprintf(fid,'%i ',matrice(k));
J'espère que c'est assez complet. N'hesite pas à poser d'autres questions
Superpiot
Dernière modification par yoda1234 ; 22/01/2010 à 18h54.
Motif: Modification balises
22/01/2010, 12h50
#3
monfilsaziz
Date d'inscription
janvier 2010
Messages
4
Re : Modifier un fichier texte avec MATLAB
Merci cher superpiot04 d'avoir me repondre avec cette precision.
je pense que vous avez bien compris mon probleme. Pour cela je souhaiterai vous contacter directement par mail ou skype si vous permettez.
Voici mon mail###########. donc vous m'envoyer un mail pour discuter par la suite par skp ou msn comme vous voulez.
. Il est interdit de mettre votre adresse email sur le forum.
et
Ce forum est un lieu d'échange la réponse à une question peut intéresser d'autres personnes. Ne demandez donc pas dans votre premier message une réponse en privé par mail.
Merci d'en tenir compte à l'avenir.
yoda1234.
Dernière modification par yoda1234 ; 22/01/2010 à 13h09.
11/02/2010, 13h57
#4
monfilsaziz
Date d'inscription
janvier 2010
Messages
4
Ecrire des donnees dans un fichier .txt avec MATLAB
Bonjour,
J'ai un problem en manipulant la gestion des fichier text sur Matlab. En effet je souhaite ecrire dans un fichier texte à partir de Matalb dans une ligne spécifique dans une zone bien définie et qui sera intérative à chaque appel à cette fonction.
Par exemple je souhaite ecrire avant la derniere ligne du fichier texte:
.PARAM W1=1e-6 W2= 10e-6.
Et les valeurs 1e-6 et 10e-6 seront variables, cad je dois modifier ces valeurs à partir d'une matrice de deux colones de taille 100.
Merci de m'aider....
Aujourd'hui
A voir en vidéo sur Futura
11/02/2010, 14h16
#5
yoda1234
Date d'inscription
août 2004
Localisation
dagobah
Messages
13 944
Re : Ecrire des donnees dans un fichier .txt avec MATLAB
Effacement d'un doublon et fusion d'une discussion.
Là où l'ignorance est un bienfait, c'est de la folie d'être sage (Thomas Gray).