我有一个我想用C#编写的公式。如果有任何错误,请查找错误... 我在我的代码中写的是这样的:
Xopt = 293.94 * Math.Sqrt(HDD * Cfuel * PWF * K / H4 * Cy * n) - K * Rwt;
不幸的是,这个结果与公式不同。我该如何解决?
答案 0 :(得分:4)
你错过了分母周围的一组括号。没有它们,sqrt中的所有内容都是从左到右计算的。
Xopt = 293.94 * Math.Sqrt(HDD * Cfuel * PWF * K / (H4 * Cy * n)) - (K * Rwt);
也围绕最后一个因素。谢谢乔尔。
答案 1 :(得分:3)
它需要更多括号或分解多个语句(或两者)的计算。否则,平方根表达式仅除以H4
,然后将结果乘以Cy
和n
。
var numerator = HDD * Cfuel * PWF * K;
var denominator = H4 * Cy * n;
Xopt = 293.94 * Math.Sqrt(numerator / denominator) - (k * Rwt);
如果你足够了解公式为什么给分子和分母值赋予有意义的名称,那就更好了。