Function generation error using python code in matlab

조회 수: 10 (최근 30일)
성현
성현 2025년 11월 12일
댓글: 성현 2025년 11월 19일
%% download sympy module
pe = pyenv;
exe = string(pe.Executable);
cmd1 = '"' + exe + '"' + " -m pip install --upgrade pip";
cmd2 = '"' + exe + '"' + " -m pip install sympy";
system(cmd1);
system(cmd2);
%% function generation
sp = py.importlib.import_module('sympy');
x = sp.symbols('x');
f = sp.Function('f');
y = f(x); % <-- error here
eq = sp.Eq(sp.diff(y,x,2)+3*y-1,0);
Hi, all.
I'm trying to make function with python code in matlab m-file.
But, when it carry on 'y=f(x)' code, make a error
'Python object is neither string nor unicode. Cannot return chars.'
and there is no object 'y' in workspace.
What should I edit to run this code properly.
Thanks.

채택된 답변

Leepakshi
Leepakshi 2025년 11월 17일
Hey,
When you call f(x), the result is a SymPy object, not a string or number. MATLAB cannot convert this to a native MATLAB type, so you must work with it as a Python object in MATLAB. Try converting it into MATLAB compatible datatype.
Thanks

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Call Python from MATLAB에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by