Persistent variable buffer size
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I need to make a persistent variable that can take maximum x scalars. After x is reached the oldest scalar stored gets out and the new one gets in (FIFO).
How can I define such variable?
0 commentaires
Réponses (1)
Jan
le 26 Avr 2015
What have you tried and which problems occur?
function YourFcn(Value)
% Initialize the buffer on demand:
persistent Buffer BufferIndex
MaxBufferLen = 19;
if isempty(BufferIndex) % First run
BufferIndex = 1;
% Pre-allocation if possible: Buffer = nan(1, MaxBufferLen)
end
% Store the current value:
Buffer(BufferIndex) = Value;
% Increase and restart the index:
BufferIndex = mod(BufferIndex, MaxBufferLen) + 1
0 commentaires
Voir également
Catégories
En savoir plus sur Whos dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!