MATLAB: Coder.opaque + persistent statements at once

codderembeddedEmbedded Codermatlab coddermatlab coderopaquepersistent

Can I make in Matlab Codder a function variable that is both persistent (Static) and has specified type like int16?
persistent variable;
variable= coder.opaque('int');
Gives me coder error:
??? Class mismatch (coder.opaque ~= double).
The class to the left is the class of the left-hand side of the assignment.
Also I cannot define anything before declaring it persistent so swapping lines doesn't help 🙂

Best Answer

You should be able to do something like:
persistent var;
if isempty(var)
var = zeros('int16');
end
... use var ...
in your code. Then, "var" will be int16 and persistent.