Filter löschen
Filter löschen

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

51 Ansichten (letzte 30 Tage)
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!

Akzeptierte Antwort

Voss
Voss am 13 Apr. 2022
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

Weitere Antworten (1)

jjjSAN
jjjSAN am 14 Apr. 2022
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 Kommentare
jjjSAN
jjjSAN am 14 Apr. 2022
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

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Biological and Health Sciences finden Sie in Help Center und File Exchange

Produkte


Version

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by