繁体   English   中英

Python,Sympy:如何将 sympy 表达式输出为 Python 函数?

[英]Python, Sympy: How to output sympy expression as Python function?

Sympy 的 lambdify函数只能将我们的表达式转换为 lambda 函数。

x, y = symbols('x y')
expr = x + 2*y
f = lambdify(x, expr)

但是如何将表达式输出为 Python 函数呢? 就像是:

def expr(x, y):
    return x + 2*y

或者是,可以自动生成一个Python脚本文件expr.py使用Sympy我们的功能体现在哪里?

总之,需要实现matlabFunction在Matlab中所做的( Convert matlabFunction to matlab function

不太确定这是否是您要找的,但 sympy 有八度(matlab)代码打印选项

这是它的作用的快速示例:

import sympy as sym
x,y = sym.symbols('x y')
expr = x + 2*y
expr2 = sym.sin(x) + sym.I*sym.exp(y)
sym.pprint(expr) #prints nice human readable output
sym.pprint(sym.printing.octave.octave_code(expr))   #prints octave (matlab) compatible output
sym.pprint(expr2)
sym.pprint(sym.printing.octave.octave_code(expr2))
from sympy import *

x, y = symbols('x y')
expr = x + 2*y
func = lambdify([x,y], expr)
f=func(1,2)

输出:5

不确定这是否是您想要的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM