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

조회 수: 5 (최근 30일)
ARUN
ARUN 2021년 2월 15일
댓글: Walter Roberson 2021년 2월 15일
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
ARUN
ARUN 2021년 2월 15일
I am using MATLAB R2020b and Windows 10
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