Error - MATLAB expression <output of myfunc> is not numeric

13 views (last 30 days)
I am trying to pass a value from the python code to the Matlab function in simulink and I am getting the following error:
Error - MATLAB expression <output of myfunc> is not numeric.
Matlab function -
function y = fcn
y = 0;
coder.extrinsic('py.throttle.test')
y = py.throttle.test();
end
Python code(throttle.py)
def test():
throttle = 5
return throttle
any idea how this could be solved?
  7 Comments
Walter Roberson
Walter Roberson on 15 Feb 2021
filename = 'throttle.py';
[fid, msg] = fopen(filename, 'wt');
if fid < 0
error('Failed to open file "%s" because "%s"', filename, msg);
end
fprintf(fid, 'def test():\n');
fprintf(fid, ' throttle = 5\n');
fprintf(fid, ' return throttle\n');
fclose(fid)
ans = 0
y = py.throttle.test();
class(y)
ans = 'int64'
disp(y)
5
It works when I test on Mac or in MATLAB Online (which is Linux)

Sign in to comment.

Answers (0)

Categories

Find more on Startup and Shutdown in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!