现在我有一个方程要解决:
exp(x * a)-exp(x * b) = c,其中 a、b 和 c 是已知常数。
我尝试了 sympy 和 scipy.optimize.fsolve,甚至是 brenth 和 newton。没什么好的。我是 python 新手,大概 2 周。所以请帮我解决这个问题。谢谢!
现在我有一个方程要解决:
exp(x * a)-exp(x * b) = c,其中 a、b 和 c 是已知常数。
我尝试了 sympy 和 scipy.optimize.fsolve,甚至是 brenth 和 newton。没什么好的。我是 python 新手,大概 2 周。所以请帮我解决这个问题。谢谢!
目前还不清楚你真正想要什么。符号优化与数值优化以及精确解决方案与最小二乘解决方案。
忽略这一点,只介绍最小二乘法:
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 的演示。毕竟这可能不是你想要的。