update a matrix as a queue

1 view (last 30 days)
SC
SC on 14 Jan 2013
Hi,
I would like to create a matrix of size 1000 X 1 . After each sampling period, the latest 100 elements come in and push down all the previous elements. For example:
@ t = 0 M = [a0, a1, a2,..., a998, a999]
@ t = 1 M = [a100, a101, a102,... , a1098, a1099]
Can some one recommend a good way of doing this?
Thank you

Accepted Answer

Thorsten
Thorsten on 14 Jan 2013
That's easy: just put the first 900 values of your matrix after the new values:
M = [newvalues; M(1:900)];

More Answers (1)

Matt J
Matt J on 14 Jan 2013
M(1:100)=newvalues;
M=circshift(M,[0,-100]);

Community Treasure Hunt

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

Start Hunting!