Python对数函数

Nex*_*ade 1 python numpy logarithm sympy

我正在寻找一个Python中使用对数的操作示例.我已经尝试过sympy,numpy而且我仍然不能做我想做的事.例如,对于这样的输入:

log(x+1)+log(4-x)=log(100) # it's just an example 
Run Code Online (Sandbox Code Playgroud)

输出应该给我的x价值.我需要使用任何其他功能,如log(x+1)=4log(x)-log(x+1)=log(x).

是否有某些方法或某处(文档或类似)我在哪里可以找到如何做到这一点?

mja*_*ews 5

我可能误解了你需要做什么,因为你说你已经尝试过了.但是,看起来你只想在代数方程中求解x.

在等式中求解x

log(x+1)+log(4-x)=log(100)
Run Code Online (Sandbox Code Playgroud)

使用sympy会是

>>> from sympy import Symbol, solve, log
>>> x = Symbol('x')
>>> solve(log(x+1) + log(4-x) - log(100), x)
[3/2 - 5*sqrt(15)*I/2, 3/2 + 5*sqrt(15)*I/2]
Run Code Online (Sandbox Code Playgroud)

如果需要,您可以通过numpy检查这两个解决方案是否正确.

>>> import numpy as np
>>> a = 3/2 - 5*np.sqrt(15)*1j/2
>>> b = 3/2 + 5*np.sqrt(15)*1j/2
>>> np.log(a + 1) + np.log(4-a)
(4.6051701859880918+0j)
>>> np.log(b + 1) + np.log(4-b)
(4.6051701859880918+0j)
>>> np.log(100)
4.6051701859880918
Run Code Online (Sandbox Code Playgroud)

这不是你想要的吗?