adding headers when using fprintf to write to text

3 Ansichten (letzte 30 Tage)
Danielle Leblance
Danielle Leblance am 30 Dez. 2016
Kommentiert: Image Analyst am 31 Dez. 2016
Hi,
I am writing a matrix to text using the following codes:
fid = fopen('Datav1Call_1993.txt','w+');
for idx = 1:size(DataPaper,1)
line = DataPaper(idx,~isnan(DataPaper(idx,:))); % creates the line of data without NaNs
fprintf(fid,[repmat('%d ',1,length(line)),'\n'],line);
end
fclose(fid);
how can i add headers to the columns?
  1 Kommentar
dpb
dpb am 30 Dez. 2016
Write 'em before the loop after you open the file...result will likely be more satisfactory for looking at if you use widths on the field specifications to line things up...

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Image Analyst
Image Analyst am 30 Dez. 2016
For example, after fopen() and before the loop:
if fid == -1
errorMessage = sprintf('Error opening Datav1Call_1993.txt')
uiwait(errordlg(errorMessage));
return; % Bail out
end
% Now write header string.
fprintf(fid, 'header 1 header 2 header 3 whatever \n');
  6 Kommentare
dpb
dpb am 31 Dez. 2016
>> ['first',
'second',
'last']
Error using vertcat
Dimensions of matrices being concatenated are not consistent.
>>
Image Analyst
Image Analyst am 31 Dez. 2016
Yes, the triple dots are needed Danielle. With them it's like ['first', 'second', 'last'] which equals 'firstsecondlast', a single 1-d character array. Without them it tries to make a 2D array and for that to succeed, all strings need to be the same length because you can't have a 2-D array with a ragged right edge. However this demo works:
s1 = ['first', ...
'second', ...
'last']
s2 = ['first-',
'second',
'last--']
You get
s1 =
firstsecondlast
s2 =
first-
second
last--
Note you get a 1-D character array for the first and a 2-D array for the second. I padded the strings so that all strings had 6 characters so now it can make a 3 by 6 character array.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Cell Arrays finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by