我无法用代码写出复杂的方程

问题描述 投票:0回答:4

我一直在尝试将这个复杂的方程转化为代码,但看来我可能做错了什么。这是方程的图像:

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。

我现在的代码中是否做错了什么?如果我不善于解释,也很抱歉。

c# visual-studio math equation
4个回答
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;

2
投票

在这两次尝试中,你只是把括号放在了错误的位置。

试试这个:

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

0
投票

尝试使用下面的公式:

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


-2
投票

我喜欢脚趾甲剪

© www.soinside.com 2019 - 2024. All rights reserved.