Is there a way to ask MATLAB Coder 2.3 (R2012b) to perform the assignment of a persistent variable within the FUNCTIONNAME_initialize function?
1 view (last 30 days)
Show older comments
I have a MATLAB function that contains code of the form :
persistent myVariable;
if(isempty(myVariable))
myVariable = rand(1,10);
end
the generated C/C++ code does not assign the initial value of 'myVariable' within the FUNCTIONNAME_initialize function. Instead it assigns it within the FUNCTIONNAME function within a c-style if isempty section.
Is it possible to tell coder to perform persistent assignments within FUNCTIONNAME_initialize?
Accepted Answer
MathWorks Support Team
on 28 Jan 2013
In general MATLAB coder will try to put the persistent initialization within the FUNCTIONNAME_initialize function. For example for the following MATLAB code:
if(isempty(myVariable))
myVariable = 5;
end
'myVariable'' is initialized to 5.0 within the FUNCTIONNAME_initialize function.
In this case the variable initialization also consists of a function call to RAND. This is why it is not in the FUNCTIONNAME_initialize . The FUNCTIONAME_initialize function is not intended to contain the implementation of the MATLAB code (in this case the variable initialization is tied to the implementation of the RAND call).
0 Comments
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!