Help needed with while loop code

1 view (last 30 days)
D.J
D.J on 29 Aug 2018
Commented: D.J on 29 Aug 2018
Hi all. I am trying to use while-loop to determine when the cumulative rainfall for a particular month exceeds 8 mm. I have attached the file that I imported for my data. Also, this is the code that I used, but didn't work. Any help would be highly appreciated !
Testdata = importfile2('Test_data.csv', 2, 32);
%Parameters
RF=Testdata(1:31,4);
%Variables
D_var=0; % day
RF_tot = 0; % Rainfall total
%Condition
%RF_tot <=7
while RF_tot<=8
RF_tot=RF_tot+RF
D_var=D_var+1
end
  1 Comment
KALYAN ACHARJYA
KALYAN ACHARJYA on 29 Aug 2018
RF (Test Data) is not used anywhere in the code?

Sign in to comment.

Accepted Answer

Torsten
Torsten on 29 Aug 2018
Edited: Torsten on 29 Aug 2018
while RF_tot<=8 && D_var <= 30
D_var=D_var+1
RF_tot=RF_tot+RF(D_var)
end
Best wishes
Torsten.
  3 Comments
Torsten
Torsten on 29 Aug 2018
Edited: Torsten on 29 Aug 2018
As far as I understood your code, array element RF(D_var) contains the rainfall at day D_var of a certain month. If this is the case, these values RF(1),RF(2),...,RF(31) have to be added together to get the total rainfall of the month. The condition to stop is that the total rainfall up to day "D_var" exceeds 8 mm.
Thus you could equivalently do
RF_total = 0.0;
for D_var = 1:31
RF_total = RF_total + RF(D_var);
if RF_total > 8
break
end
end
D.J
D.J on 29 Aug 2018
@Torsten Many thanks. This makes perfect sense. Much appreciated.

Sign in to comment.

More Answers (0)

Categories

Find more on Function Creation in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!