ERROR: Python in Simulink: Class mismatch for variable 'commandOut'. Expected 'double', Actual 'char'.

I get an error while Running a Python Script in a Simulink Model
function y = Test_1(a,k)
coder.extrinsic('tic','toc', 'system','clear' ,'clc','num2str' );
commandStr = ['C:\LegacyApp\Python27\python sqd.py ',num2str(a),' ',num2str(k)];
[status, commandOut] = system(commandStr);
y = coder.nullcopy(zeros(size(a),'double'));
y=commandOut;
This is the Error which i got during compilation:
Class mismatch for variable 'commandOut'. Expected 'double', Actual 'char' .

回答(1 个)

commandOut , the second output argument from system , is a char array. See the doc . You used num2str to convert to char arrays from the variables a and k . Similarly, you need to convert to double from commandOut . You may be able to use str2num .
If you are using R2014b or newer, then you can call Python from MATLAB .

类别

帮助中心File 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