How to keep the previous iteration in a for loop?

Dear Reader,
I am trying to use a for loop to find the maximum daily value for water level (WL) for a hourly data set between the years 2000 and 2020. The code has been specifically written to also take shorter months (february) in to account. See below.
I want the line WL_HVH_dailymax_total a matrix keeping the [year month day WL], for example
[2000 01 01 WL; 2000 01 02 120 WL; 2000 01 03 WL ]
However, the way I have written this, it will overwrite the previous line so that the only result I obtain is:
[2020 06 05 125]
DO I need an extra line of code, or what other way can I fix this?
for i = 2000:max(WL_HVH(:,1));
WL_HVH_year = WL_HVH(WL_HVH(:,1)==i, :);
for j = 1:max(WL_HVH_year(:,2));
WL_HVH_month = WL_HVH_year(WL_HVH_year(:,2)==j, :);
for k = 1:max(WL_HVH_month(:,3));
WL_HVH_day = WL_HVH_month(WL_HVH_month(:,3)==k, :);
WL_HVH_dailymax = max(WL_HVH_day(:,6));
WL_HVH_dailymax_total = [i j k WL_HVH_dailymax];
end
end
end

 Accepted Answer

count=1;
for i = 2000:max(WL_HVH(:,1));
WL_HVH_year = WL_HVH(WL_HVH(:,1)==i, :);
for j = 1:max(WL_HVH_year(:,2));
WL_HVH_month = WL_HVH_year(WL_HVH_year(:,2)==j, :);
for k = 1:max(WL_HVH_month(:,3));
WL_HVH_day = WL_HVH_month(WL_HVH_month(:,3)==k, :);
WL_HVH_dailymax = max(WL_HVH_day(:,6));
WL_HVH_dailymax_total{count} = [i j k WL_HVH_dailymax];%make cell array
count=count+1;
end
end
end

3 Comments

You're a life saver! Thanks so much!
Do you also know a command that can convert the obtained cells to a matrix, so that the matrix becomes a 7463x4 matrix where the columns read:
year month day Daily Max
Thanks in advance!!
count=1;
for i = 2000:max(WL_HVH(:,1));
WL_HVH_year = WL_HVH(WL_HVH(:,1)==i, :);
for j = 1:max(WL_HVH_year(:,2));
WL_HVH_month = WL_HVH_year(WL_HVH_year(:,2)==j, :);
for k = 1:max(WL_HVH_month(:,3));
WL_HVH_day = WL_HVH_month(WL_HVH_month(:,3)==k, :);
WL_HVH_dailymax = max(WL_HVH_day(:,6));
WL_HVH_dailymax_total(count,:) = [i j k WL_HVH_dailymax];%change to matrix
count=count+1;
end
end
end

Sign in to comment.

More Answers (0)

Categories

Community Treasure Hunt

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

Start Hunting!