MATLAB: Do I get a found an mxArray error pointing to a variable that has a value from a function declared as coder.extrinsic

simulink

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;

Best Answer

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;