如何在Python中求解指数方程

时间:2017-09-13 13:31:42

标签: python numerical-computing

现在我有一个方程式可以解决:

exp(x * a)-exp(x * b)= c,其中a,b和c是已知常数。

我尝试过sympy和scipy.optimize.fsolve,甚至是brenth和newton。没什么好的。我是蟒蛇新手,比如2周。所以请帮我解决这个问题。谢谢!

1 个答案:

答案 0 :(得分:-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的演示。毕竟这可能不是你想要的。