Why do I get a found an mxArray error pointing to a variable that has a value from a function declared as coder.extrinsic?

Why do I get the error "Expected either a logical, char, int, fi, single, or double. Found an mxArray. MxArrays are returned from calls to the MATLAB interpreter and are not supported inside expressions. They may only be used on the right-hand side of assignments and as arguments to extrinsic functions." for 'index= sum(cummu <= randm) +1;'
Sample code:
coder.extrinsic('get_param');
x = get_param(<modelname/block>,'Value');
y  = x + 5;

 採用された回答

MathWorks Support Team
MathWorks Support Team 2015 年 7 月 23 日
You need to explicitly mention the type for the variable that is receiving values from a function declared as coder.extrinsic. If not, MATLAB will return value of type mxArray. 
Sample code's answer:
coder.extrinsic('get_param');
x = double(0);
x = get_param(<modelname/block>,'Value');
y  = x + 5;

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeVehicle Dynamics Blockset についてさらに検索

製品

リリース

R2014b

タグ

タグが未入力です。

Community Treasure Hunt

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

Start Hunting!

Translated by