MATLAB function block initialization problem.
4 views (last 30 days)
Show older comments
I am using the matlab function block to execute the logic. For that i am using some variables but they get initialize at every sample time. Due to this my logic is not working properly. I want the variable only get initialize onces in whole simulation. so any possible solution to this type of problem?
0 Comments
Answers (1)
Jonas
on 20 May 2021
Edited: Jonas
on 20 May 2021
Define your variable as being persistent, to remember its value across executions.
Also, add logic that writes an initialisation value to it only on first execution, as follows:
persistent variable_you_want_to_remember
if isempty(variable_you_want_to_remember)
variable_you_want_to_remember = 12; % initialisation
end
When using a persistent variable, the value will be '[]' on first execution, that's why we can use the function isempty to see if we are on first execution or not.
The next executions, the value of the value will be remembered from last execution.
2 Comments
See Also
Categories
Find more on Simulink Functions in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!