Info
This question is closed. Reopen it to edit or answer.
how to save each cell
4 views (last 30 days)
Show older comments
I have 18 .dat flies and i calculated nan mean for these.so finally i got my output is 106x13 cell,with in this all data of 18 files mean is over righted.how to extract each .dat file mean separated and save in xlsx format. my code is..
pathToFolder = '.';
files = dir( fullfile(pathToFolder,'*.dat') );
%# read all files
data = cell(numel(files),1);
for i=1:numel(files)
fid = fopen(fullfile(pathToFolder,files(i).name), 'rt');
H = textscan(fid, '%s', 4, 'Delimiter','\n');
C = textscan(fid,repmat('%f ',1,33),...
'EmptyValue',nan,'HeaderLines',1,'CollectOutput',1);
fclose(fid);
H = H{1};
C = C{1};
data{i} = C;
end
data = cat(1,data{:});
val = nanmean(data(:,3:end),2);
[yrs,~,ii] = unique(data(:,1));
mmm = cellstr(datestr(datenum(2014,(1:12)',1),'mmm'))';
output = [[{'year'},mmm];
[num2cell(yrs), accumarray([ii, data(:,2)],val,[],@(x){x})]];
Answers (1)
Image Analyst
on 6 Oct 2014
I'm not seeing the call to xlswrite() - did you do that?
4 Comments
Image Analyst
on 7 Oct 2014
They can either be separate workbooks, or separate worksheets in the same workbook - whatever you want.
Image Analyst
on 7 Oct 2014
You have to have each MATLAB cell contain just one number , not a whole array, if you want just one number in each Excel cell. See the FAQ: http://matlab.wikia.com/wiki/FAQ#What_is_a_cell_array.3F
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!