2010-06-16 4 views
3

Comment écrire un en-tête de texte dans un fichier texte? par exemple dans l'exemple ci-dessous, comment écrire l'en-tête code salay month juste une fois?MATLAB comment écrire l'en-tête dans le fichier texte

Code Salary Month 
12 1000 12 
14 1020 11 
11 1212 9 

Le code:

fid = fopen('analysis1.txt','wt'); 
for i=1:10 
    array = []; % empty the array 
    .... 
    array = [code salary month]; 
    format short g; 
    fprintf(fid,'%g\t %g\t %g\n',array); % write to file 
end 
fclose(fid); 

Répondre

5

Y at-il raison de ne pas utiliser comme solution simple suivante?

... 
fid = fopen('analysis1.txt','wt'); 
fprintf(fid, '%s\t %s\t %s\n', 'Code','Salary','Month'); 
for i=1:10 
    array = []; % empty the array 
... 
+2

Ou écrivez la ligne d'en-tête comme vous le suggérez @pepiino, puis utilisez dlmwrite pour ajouter la table de données dans une instruction. –

-2

Merci, Voici un script que je modifié pour générer un fichier variable

fid = fopen('vout.h','wt'); 
format short g; 

fprintf(fid,' /* Header File for the variable vout */ \n\n'); 

fprintf(fid,'int vout[ %g ] = { ' ,length(vout)); 

for i=1:length(vout) 

    fprintf(fid,'%g,',vout(i)); % write to file 
end 
fprintf(fid,'} ; '); 

fclose(fid); 
+1

Downvoting: Inutilement impose une syntaxe arcane sur la sortie qui n'a pas été demandée, difficile à lire, inefficace (surtout par rapport à l'autre réponse qui a la bonne façon de le faire), très difficile à lire (je sais comment faire cela, et ne pouvait toujours pas comprendre ce qui se passe). – Superbest

+0

@Superbest: Il a évidemment interprété la question comme "sortir un fichier d'en-tête C". –

1

Juste pour le rendre facile à copier et coller

fid = fopen('Output.txt','wt'); 
fprintf(fid, '%s\t %s\t %s\n', 'x','y1','y2'); 
% have a matrix M(N,3) ready to go 
dlmwrite('Output.txt', M,'delimiter', '\t', '-append') 
fclose(fid); 

Jaap