我有一个公式,想要用C#编写。如果有错误,请指出…… 。
我的代码写得和这个公式一样:
Xopt = 293.94 * Math.Sqrt(HDD * Cfuel * PWF * K / H4 * Cy * n) - K * Rwt;
很遗憾,这样做的结果与公式不同。我该怎么办?
你忘记在分母周围加上一组括号。没有括号,根号内的所有内容都将从左到右计算。
Xopt = 293.94 * Math.Sqrt(HDD * Cfuel * PWF * K / (H4 * Cy * n)) - (K * Rwt);
它需要更多的括号或将计算分解成多个语句(或两者兼备)。否则,平方根表达式只能通过H4
进行除法运算,然后将该结果乘以Cy
和n
。
var numerator = HDD * Cfuel * PWF * K;
var denominator = H4 * Cy * n;
Xopt = 293.94 * Math.Sqrt(numerator / denominator) - (k * Rwt);
如果你足够了解公式的原理,能够为分子和分母赋予有意义的名称,那就更好了。
Xopt = 293.94 * Math.Sqrt((HDD * Cfuel * PWF * K) / (H4 * Cy * n)) - K * Rwt
。 - Sweeper