【问题标题】:Sympy returns log instead of lnSympy 返回日志而不是 ln
【发布时间】:2020-01-03 08:18:21
【问题描述】:

我有这个等式:

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 返回的是 log 函数而不是自然 log 函数?

【问题讨论】:

    标签: python python-3.x math sympy derivative


    【解决方案1】:

    来自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))

    【讨论】:

    • 我想为可能对这个操作的名称感到困惑的人添加一些内容。这种操作称为换碱基。即 log_3(x) = ln(x)/ln(3) 其中 log_3(x) 是 x 的以 3 为底的对数。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-25
    • 1970-01-01
    • 1970-01-01
    • 2021-01-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多