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

5 次查看(过去 30 天)
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 个评论
Walter Roberson
Walter Roberson 2021-2-15
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)

请先登录,再进行评论。

回答(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