我正在使用 python + Nest.js 开发一个图形绘制和微积分执行计算器应用程序。我正在使用 SymPy 带来微积分功能,但微分时存在严重问题。
derivative.py:
from latex2sympy2 import latex2sympy, latex2latex
import sympy as smp
def derivative(latex):
...
x = smp.symbols('x', real=True)
f = latex2sympy(latex)
dfdx = smp.diff(f, x)
return smp.latex(dfdx)
Run Code Online (Sandbox Code Playgroud)
一切都运转良好,除了sympy.diff();它总是返回0(例如f = sin(x)会导致dfdx = 0)。
我发现,由于latex2sympy()返回一个没有库名称的函数,smp.diff()因此不认为它是来自 SymPy 的函数。当我在 Google Colab 上测试完全相同的代码时,它运行得很好。
f = latex2sympy(latex)
# latex = '$$ \sin x $$'
# f = sin(x)
dfdx = smp.diff(f, x)
# dfdx = 0
Run Code Online (Sandbox Code Playgroud)
所以我觉得 …