2017-09-13 49 views
-4

解決指數方程現在我有一個方程求解:如何在Python

EXP(X * A)-exp(X * B)= c,其中a,b和c是已知的常數。

我試圖sympy和scipy.optimize.fsolve,甚至brenth和牛頓。沒什麼好的。我對python很陌生,就像2周。所以請幫我解決這個問題。謝謝!

+0

你可以嘗試'numpy'包。 – GreenSaber

+1

'''什麼都不好'''不會告訴我們任何事情。除此之外,sympy和scipy.optimize是不同的方法,它使我們想知道你真正想要什麼,如果你知道你想要什麼。 – sascha

+0

取決於a,b和c,可能沒有解決方案,這可能是您的方法無法找到解決方案的原因。 – wrkyle

回答

-1

目前還不清楚你真正想要的。符號數值優化和精確解與最小二乘法解決方案。

忽略此,只是呈現最小二乘方法:

from scipy.optimize import minimize_scalar 
import math 

a = 3 
b = 2 
c = 1 

def func(x): 
    return (math.exp(x * a) - math.exp(x * b) - c)**2 

res = minimize_scalar(func) 
print(res.x) 
print(res.fun) 

輸出:

0.382245085908 
1.2143546318937163e-19 

替代例如:

a = 5 
b = 2 
c = -1 

輸出:

-0.305430244172 
0.4546398791780655 

這只是在問候scipy.optimize演示。這可能不是你想要的。

+0

其實我想要數值解,所以最小二乘法解決方案應該這樣做,謝謝。對於我的數據集中的一些參數,公式沒有真正的根,所以我必須改變我的模型LOL。再次感謝您的幫助和插圖! – Kyle