2015-05-06 79 views
-3

我想用C編寫這個公式,但我不知道如何使用右括號。C中的括號,如何?

Eq=sqrt(e^(-((T-thr))/T)) + (1-a)/4 
+0

如果我正確地解釋你的公式'EQ =開方(EXP(-1 *(T - THR)/ T))+((1 - A)/ 4 )'應該這樣做。但我不確定 - 它可能是'eq =(sqrt(exp(-1 *(T-thr)/ T))+(1-a))/ 4'。我不確定你想用'/ 4'這個詞做什麼 - 你想把整個前面的表達式除以4,還是隻用'(1-a)'?到底是什麼,它只是軟件 - 嘗試兩種方式,看看你更喜歡什麼 - 除非你想建立一個類似核反應堆控制系統的東西,在這種情況下,你可能希望在實施任何事情之前仔細檢查。祝你好運。 –

+0

「我不知道如何使用右括號」是什麼意思? –

+0

@BobJarvis:爲什麼用'-1'乘以一元'-'? –

回答

3

在C中,^算子不是冪乘。相反,在C中,我們編寫了e x作爲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; 

和(A bç =一個BC,我們可以應用到的指數的平方根:√(E X)=(E x1/2 = e x/2。因此,我們可以消除的平方根:

Eq = exp((thr - (double)T)/(2 * T))) + (1 - a)/4.0;