我无法在代码中编写复杂的等式

时间:2018-05-16 01:46:11

标签: c# visual-studio math equation

我一直试图将这个conplex方程变成代码,看起来我可能做错了。这是等式的图像:

Here

这是我尝试将方程式转换为代码时使用的第一个代码。

double answer = 1 - (Math.Pow(f, n) * ((s * l / f) + Math.Pow((20 / f), w) / Math.Pow(20, n)));

以下是我在第二次尝试中使用的代码:

double answer = 1 - Math.Pow(f, n) * ((s * l) / f) + Math.Pow((20 / f), w) / Math.Pow(20, n);

如果我假设等式的每个变量都是2,那么我得到-.02。但是当我运行代码时,第一次尝试代码返回值为-8,而第二次尝试返回-6.75。

我的代码现在有什么问题吗?如果我不好解释东西,也很抱歉。

3 个答案:

答案 0 :(得分:6)

我测试了这个并获得了-0.02的结果。尝试拆分代码以使其更清晰。它可能有助于您在一行上诊断复杂方程的语法。

double f = 2;
double n = 2;
double s = 2;
double w = 2;
double l = 2;


double A = Math.Pow(f, n);
double B = (s * l) / f;
double C = Math.Pow((20 / f), w);
double bottom = Math.Pow(20, n);
double top = A * (B + C);
double answer = 1 - top / bottom;

答案 1 :(得分:1)

在这两次尝试中,你的括号都在错误的位置。

试试这个:

double answer =
    1 - Math.Pow(f, n) * (s * l / f + Math.Pow((20 / f), w)) / Math.Pow(20, n);

答案 2 :(得分:0)

尝试使用下面的公式:

double answer = (1 - Math.pow((Math.pow(f,n)*[s*l/f+20/f})),w)/Math.pow(20,f)