Store for loop data in cell array

2 views (last 30 days)
I would like to store the montly_average data from the for loop in a 6x1 cell array where each element is a 12x1 cell array of the months.
for i=2000:2005
for j=1:12
monthly_average=mean(data_file(3,data(1,:)==i & data_file(2,:)==j))
Thanks in advance

Accepted Answer

Walter Roberson
Walter Roberson on 21 Nov 2022
years = 2000:2005;
months = 1 : 12;
num_years = length(years);
num_months = length(months);
monthly_average_cell = cell(num_years, 1);
for year_idx = 1 : num_years
i = years(year_idx);
month_cell = cell(1, num_months);
for month_idx = 1 : num_months
j = months(month_idx);
month_cell{month_idx} = mean(data_file(3,data(1,:)==i & data_file(2,:)==j));
monthly_average_cell{year_idx} = month_cell;
  1 Comment
Matlab_G on 21 Nov 2022
Thank you so much! it works perfectly

Sign in to comment.

More Answers (0)


Find more on Dates and Time in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by