我有这个等式:
import sympy as sp
x = sp.Symbol(‘x’, real = True)
fx = sp.log(x,3)
sp.diff(fx, x)
Sympy返回:
1/(x*log(3))
Sympy应该返回:
1/(x*ln(3))
为什么Sympy返回日志函数而不是自然日志函数?
来自here:
注意:
在SymPy中,就像在Python和大多数编程语言中一样,log是自然对数,也称为ln。如果您忘记此别名,SymPy会自动提供别名ln = log。
>>> sp.ln(x)
log(x)
所以您发布的代码实际上是正确的。
[sp.log(x,3)
等同于log(x)/log(3)
,并且其派生词是1/(x*log(3))
,在Sympy中等同于1/(x*ln(3))
。