我想用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;


我假设您的变量(Tthra)是浮点类型(floatdouble)。如果它们是整数,则可能要强制编译器使用浮点算术,您可以执行以下操作(例如):

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;

08-04 12:49