Bonjour tout le monde, voila je debute sur matlab , et je commence deja par un probleme.
Mon but est de prendre des données a partir d'un fichier csv et de les reecrire convenablement sous format HWS, mon fichier source est comme suit:
Field #,X,Y,Z,X,Y,Z,X,Y,Z,X,Y,Z,X,Y,Z,X,Y,Z,
1,-444.5,-7.9,402.4,-428.8,33.6,498.8,-462.6,-64.1,289.0,-376.9,26.6,615.4,-495.2,-86.9,227.5,-462.8,-107.0,122.6
2,...(le reste est de la meme forme)
...
et ce que je veux faire c'est reecrire a partir de la ligne
FIELD#,X,Y,Z,X,Y,Z,X,Y,Z,X,Y,Z,X,Y,Z,X,Y,Z,
un nouveau fichier hws sous la forme :
X Y Z X Y Z
-444.5 -7.9,402 -428.8 33.6 498.8 -462.6
...
...
Donc voila ce que j'ai fait
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
Tete=fgetl(fid); %je prend la premiere ligne %(Field#,X,Y,Z,X,Y,Z,X,Y,Z,X,Y,Z,X,Y,Z)
Tete=strrep(Tete,'Field #','') %je supprime le premeir mot
Tete=strrep(Tete,',','') % je remplace les virgules par des espaces
longueur= (NbPoints*3);
hauteur= ndata;
Tab=zeros(longueur,hauteur); % je cree un tableau de 0 avec la bonne taille
Tab=sscanf(Tete,'%c',[1,NbPoints*3]) %l'entete sur la premiere ligne du tab
 
for 2=1:ndata  %a partir de la 2eme ligne du tableau 
        Valeurs=fgetl(fid);  % je prend la premiere ligne de valeur
        Valeurs=strrep(Valeurs,',',' ') % je remplace les virgules par des espaces
        Tab(2,:)=sscanf(Valeurs,'%f',NbPoints*3)%rempli 2eme ligne par valeurs
end
et ce que j'obtient c un tableau avec la bonne entete ,par contre les valeurs suivantes sont a ala bonne place mais sous forme de carrés et de charabia.
et a chaque ligne de lecture du fichier ca m'ecris : qu'il y'a eu probleme de conversion de non integer a characters, et moi ce que je veux c des float comme ci dessus par des caracteres dans le tableau (appart l'entete).
Aidez moi svp, j'ai besoin d'aide,merci d'avance.