我正在将 Mathcad 代码转换为 VBA 并试图弄清楚如何复制 While 循环,该循环要求程序在 TGuess < 0 时运行循环。在循环的末尾是一个 if 语句来打破如果 sGuess>1/1.4 则循环(我会附上一张图片,但我的名声不允许我这样做)。
我已经用 VBA 编写了这段代码,但想知道在原始 While 语句中包含 sGuess 变量是否正确,或者它是否会影响循环的输出:
While TGuess < 0 And sGuess <= 1 / 1.4
kterm = (kj ^ (1 / 6)) / 26 'k term in the numerator of depth equation
epw = 3 / 5
FDepth = ((kterm * RainInt * L * CF) / sGuess ^ 0.5) ^ epw
tflow = UW_Wat * g * sGuess * FDepth 'Calc Flow Shear Stress
pflow = 7.853 * UW_Wat * (tflow / UW_Wat) ^ (3 / 2)
TGuess = pflow - pcrit 'Recalc TGuess as E-P
sGuess = sGuess + SlopeInc 'Calc new stable slope
Wend
任何输入将不胜感激。