您正在寻找生成python代码的函数是 python 。虽然它生成了python代码,但正如Oliver W指出的那样,该代码需要进行一些调整以消除对SymPy对象的依赖。
python
>>> import sympy as sp >>> x = sp.Symbol('x') >>> y = sp.Symbol('y') >>> print(sp.python(sp.Matrix([[x**2,sp.exp(y) + x]]).jacobian([x, y]))) x = Symbol('x') y = Symbol('y') e = MutableDenseMatrix([[2*x, 0], [1, exp(y)]])
如果您不介意在代码本身中使用SymPy依赖项,则更好的解决方案是在代码中生成SymPy表达式并使用 lambdify 评估它。这将比使用快得多 evalf ,特别是如果你使用numpy。
lambdify
evalf
您还可以查看使用打印机 sympy.printing.lambdarepr 直接,这是什么 lambdify 用于将表达式转换为lambda函数。
sympy.printing.lambdarepr