Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在c中求平方根#_C#_Math - Fatal编程技术网

C# 如何在c中求平方根#

C# 如何在c中求平方根#,c#,math,C#,Math,我有一个公式,我想用C写。如果有错误,请找出 我用我的代码写的也是这样: Xopt = 293.94 * Math.Sqrt(HDD * Cfuel * PWF * K / H4 * Cy * n) - K * Rwt; 不幸的是,由此得出的结果与公式不同。如何修复它?分母周围缺少一组括号。没有它们,sqrt中的所有内容都将从左到右进行计算 Xopt = 293.94 * Math.Sqrt(HDD * Cfuel * PWF * K / (H4 * Cy * n)) - (K * Rwt);

我有一个公式,我想用C写。如果有错误,请找出
我用我的代码写的也是这样:

Xopt = 293.94 * Math.Sqrt(HDD * Cfuel * PWF * K / H4 * Cy * n) - K * Rwt;

不幸的是,由此得出的结果与公式不同。如何修复它?

分母周围缺少一组括号。没有它们,sqrt中的所有内容都将从左到右进行计算

Xopt = 293.94 * Math.Sqrt(HDD * Cfuel * PWF * K / (H4 * Cy * n)) - (K * Rwt);

也是围绕最后一个因素设置的。谢谢Joel。

它需要更多的括号,或者在多个语句(或两者)上分解计算。否则,平方根表达式仅除以
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
我真的不明白为什么会有人投票来结束这个。这是一个非常简单的代码问题。没有什么令人困惑的。没有遗漏任何信息。@JoePhillips图片而不是公式的文本是我的猜测(不是我的反对票或反对票)。我对此表示同情。如果将公式显示为文本那么容易,那么代码也将是正确的,这是毫无疑问的。根据图像,我打赌最后一次减法运算也需要家长参与。@JoelCoehoorn Yup。抢手货我将所有这些都解析为基于图像的一个变量,而不是基于代码段的两个变量。修正了。我喜欢看到他们有这样的专有名称。我所知道的唯一的缺点是它会导致更多的分配,有些人可能会抱怨,但我不知道这一点。“额外”变量可能是以下变量之一:由编译器优化,保存在方法的堆栈框架中,或者更大的表达式也需要自己的临时值。它将有兴趣看到一个IL解构。这个差异工具很糟糕,但你可以在这里得到原始的比较。虽然我不知道到底有多少,但似乎有一些不同:但你是对的,没有“分配”(我当时不明白我在说什么)