我想用C写这个方程式,但是我不知道如何使用正确的括号。
Eq=sqrt(e^(-((T-thr))/T) ) + (1-a)/4
最佳答案
在C语言中,^
运算符不取幂。相反,在C中,我们将ex编写为exp(x)
。除此之外,您的方程式在C中是相同的。不过,我会在一些运算符周围放置空格:
Eq = sqrt(exp(-(T - thr) / T)) + (1 - a) / 4;
我假设您的变量(
T
,thr
和a
)是浮点类型(float
或double
)。如果它们是整数,则可能要强制编译器使用浮点算术,您可以执行以下操作(例如):Eq = sqrt(exp(-((double)T - thr) / T)) + (1 - a) / 4.0;
另外...
-(T - thr)
与(thr - T)
相同,因此我们可以简化:Eq = sqrt(exp((thr - (double)T) / T)) + (1 - a) / 4.0;
(ab)c = ab c,我们可以将其应用于指数的平方根:√(ex)=(ex)1/2 = ex / 2。因此我们可以消除平方根:
Eq = exp((thr - (double)T) / (2 * T))) + (1 - a) / 4.0;