How to import symbolic expressions from Python to MATLAB?
42 次查看(过去 30 天)
显示 更早的评论
One of my colleagues is using Python(more specifically SymPy) to generate a very big symbolic expression. Now, I want to perform some numerical computations on the expression in MATLAB. How can I export the expression from Python and import it in MATLAB?
0 个评论
采纳的回答
Michael Croucher
2020-9-27
编辑:Michael Croucher
2020-9-27
Imagine your friend had a Python function that created that expression. Let's call it create_symbolic_expression() and put it into a file sympy_demo.py. My demonstration is likely to be more simple than the one you have in mind.
sympy_demo.py also contains a function that lambdify's this symbolic expression..that is, it creates a Python function in the variables x,y and z.
%This is the contents of sympy_demo.py
from sympy import lambdify
from sympy.abc import x,y,z
def create_symbolic_expression():
'''
This is a proxy for whatever code your friend has written but I'll keep it simple for this demo.
'''
expr = x+y+z
return(x+y+z)
def lambdify_expression(expr):
return(lambdify([x,y,z],expr))
We can now go to MATLAB, ensure sympy_demo.py is on your path and do
import py.sympy_demo.create_symbolic_expression
import py.sympy_demo.lambdify_expression
expr = create_symbolic_expression() %This is a Python object in MATLAB that represents the symbolic expression
myfunc = lambdify_expression(expr) %Turn it into a Python function that can be evaluated in MATLAB
We can now evaluate myfunc with numeric inputs
myfunc(1,2,3)
ans =
6
2 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Call Python from MATLAB 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!