MATLAB: Error with coder.type​(‘constant​’,value)

coderconstantmatlab coder

When I I get this error when I declare variable 'a' and 'b' as constants and take max(a,b):
Undefined function 'max' for input arguments of type 'coder.Constant'
Is there a way to get round this since 'a' and 'b' are really constants in my code?
Thank you!

Best Answer

Did you put the line:
a = coder.type('constant',value);
in the code on which you are calling CODEGEN? The function coder.type is intended to be used as an input argument to CODEGEN and not in the M file for which you are generating code.
If you have:
function y = foo(a,b)
if a < 10
y = b;
else
y = 2*b;
end
and 'a' is constant, say 10, then you could do:
t = coder.Constant(10);
codegen foo -args {t, single(0)}
to specify that the top-level input, 'a' is constant.