Persistent variable buffer size

6 Ansichten (letzte 30 Tage)
Millone
Millone am 26 Apr. 2015
Beantwortet: Jan am 26 Apr. 2015
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?

Antworten (1)

Jan
Jan am 26 Apr. 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

Kategorien

Mehr zu Scope Variables and Generate Names finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by