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

3 ビュー (過去 30 日間)
Sriharsha
Sriharsha 2015 年 3 月 10 日
回答済み: Robert Snoeberger 2015 年 3 月 10 日
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 件)

Robert Snoeberger
Robert Snoeberger 2015 年 3 月 10 日
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 .

カテゴリ

Help Center および File ExchangeCall Python from MATLAB についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!

Translated by