如何防止减量(融化)超过0直到再次增长?

3次查看(最近30天)
我正在创建一个冰雪高度时间序列。一旦雪(hsnow)完全融化,能量被用来融化冰(hice)。我可能是愚蠢的,但我似乎找不到一种方法来防止雪的高度下降到0以下(因为导致它下降到0以上的能量会被用来减少冰层)。
基本上一旦雪的高度下降到0以下,我想强制它在0或防止进一步减少过去0,直到雪再次增加。
Hsnow (day+1) = Hsnow (day) + snow(day) + dh_snow;
H_ice (day+1) = hice(day) + growth(day) + dh_ice;
(dh_snow和dh_ice是指每天冰雪融化的量,以可获得的能量为基础。)
提前感谢任何帮助!

接受的答案

图像分析
图像分析 8月7日
在循环内部的另一种方法是使用max()函数:
Hsnow (day+1) = max([0, Hsnow (day) + snow(day) + dh_snow]));
h_ice (+ 1) = max ([0, hice(天)+增长(天)+ dh_ice]);
如果其中一个是负的,比如-5,那么它将修剪到0,因为-5和0的最大值是0。
10评论

登录评论。

答案(1)

Sudheer Bhimireddy
一旦你估计了hsnow,强制所有/任何负值为0
hsnow (hsnow < 0) = 0;

标签

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始狩猎!