How to keep the previous iteration in a for loop?

조회 수: 7 (최근 30일)
Michiel Smit
Michiel Smit 2020년 6월 6일
댓글: Michiel Smit 2020년 6월 6일
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

채택된 답변

David Hill
David Hill 2020년 6월 6일
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
David Hill
David Hill 2020년 6월 6일
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
Michiel Smit
Michiel Smit 2020년 6월 6일
Thanks so much!!

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by