方程求解我有一個函數在C++具有以下簽名:計算C++
float Foo(float time, float min, float curr, float beta)
內的功能,我想確定,並在下面的公式返回MAX:
time = beta + (1.0f - beta) * ((MAX - curr)/(MAX - min))
要測試結果,可以使用以下參數:
Foo(0.95f, 625, 800, 0.75f)
它應該返回1500.
在論文中,我有確定MAX所需的步驟,但我不知道如何在代碼中工作。如果任何人都可以提供代碼來執行此計算,我將非常感激。
0.95 = 0.75 + (1 - 0.75) * ((max - 800)/(max - 625))
0.95 = 0.75 + 0.25 * ((max - 800)/(max - 625))
0.95 - 0.75 = 0.25 * ((max - 800)/(max - 625))
0.2 = 0.25 * ((max - 800)/(max - 625))
0.2/0.25 = (max - 800)/(max - 625)
0.8 = (max - 800)/(max - 625)
0.8 * (max - 625) = max - 800
(0.8 * max) - (0.8 * 625) = max - 800
(0.8 * max) - 500 = max - 800
((0.8 * max) - max) - 500 = -800
((0.8 * max) - max) = -800 + 500
((0.8 * max) - max) = -300
-0.2 * max = -300
max = -300/-0.2
max = 1500
要在代碼中工作,重新開始,但不要用數字替換變量。解決它完全相同的方式,你會得到你的答案。 (或者使用符號數學程序爲你做。) – Cascabel 2010-11-11 20:13:02
這聽起來很像家庭工作問題...所以我不想說太多,但基本上你需要重新排列方程,以便它是'Max = ...' – thecoshman 2010-11-11 20:13:47
這聽起來像是「爲我做作業」。用你的名字替換你的號碼。查找'max'的表達式。編碼。 – 2010-11-11 20:15:54