Function generation error using python code in matlab

8 visualizzazioni (ultimi 30 giorni)
%% 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.

Risposta accettata

Leepakshi
Leepakshi il 17 Nov 2025
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

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by