convert to monthly mean (arrange data)

1 view (last 30 days)
I attached here 2 text files ..one is input file(complete data of year,month number,Day1 to day31) and second one is output file(year, month wise mean).I want this output format only.
  6 Comments
skyhunt
skyhunt on 24 Sep 2014
Edited: skyhunt on 24 Sep 2014
I am very new to this matlab. Still i am not getting my format..please anybody help for this script..save my life
Geoff Hayes
Geoff Hayes on 24 Sep 2014
What happened when you loaded the data from file using importdata? Please post some or all of the code that you have written to accomplish this task.

Sign in to comment.

Accepted Answer

Andrei Bobrov
Andrei Bobrov on 25 Sep 2014
Edited: Andrei Bobrov on 25 Sep 2014
f=fopen('input.txt');
c = textscan(f,repmat('%f ',1,33),...
'EmptyValue',nan,'HeaderLines',1,'CollectOutput',1);
fclose(f);
c1 = c{1};
val = nanmean(c1(:,3:end),2);
[yrs,~,ii] = unique(c1(:,1));
mmm = cellstr(datestr(datenum(2014,(1:12)',1),'mmm'))';
output = [[{'year'},mmm];
[num2cell(yrs), accumarray([ii, c1(:,2)],val,[],@(x){x})]];
  4 Comments
skyhunt
skyhunt on 26 Sep 2014
I changed tilde with N, now it is working...how to write loop for this about 100 xlsx sheets?..
skyhunt
skyhunt on 27 Sep 2014
I created batch file as 'files.dat', with in that 100 .dat files are there ,and I want create for loop for this above script,please help me..?

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!