I want to run a loop until a value is reached and, then, I want to use that reached value to continue the loop

10 ビュー (過去 30 日間)
Hi everyone! Thanks for helping.
I'm running a code about hydrogeology. I'm calculating tha saturated portion of a soil depending on rainfall amount.
I need Matlab to calculate this saturated thickness until a certain value H is reached. This value is the maximum depth of the soil of course.
When the loop reaches H, I want Matlab to keep on doing the calculations assuming H as the new starting point, instead of the value > H that it has been encountered.
How can I do this? Thanks for helping!

採用された回答

Voss
Voss 2022 年 4 月 13 日
Hard to say for sure, but maybe some structure like this (but with a break condition - which was unspecified in the question):
H = 100;
thickness = 0;
while true
thickness = thickness+1;
if thickness >= H
thickness = thickness-H;
end
end

その他の回答 (1 件)

jjjSAN
jjjSAN 2022 年 4 月 14 日
Many many thanks!! Finally I managed by doing this:
ii = 1;
m(1) = m0;
deltam(1) = 0;
output(1) = 0;
while true
ii = ii + 1
output(ii) = prod*m(ii-1);
deltam(ii) = ((input(ii)-output(ii))./den2(ii));
m(ii) = (m(ii-1) + deltam(ii));
if m(ii) >= H;
m(ii) = H;
end
end
  4 件のコメント
jjjSAN
jjjSAN 2022 年 4 月 14 日
Finally I just added an if loop inside the code I posted earlier:
if ii > a (a was the length of my dataset)
break
end
And so it runs normally now :D

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeMATLAB Coder についてさらに検索

製品


リリース

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by