Drexel dragonThe Math ForumDonate to the Math Forum



Search All of the Math Forum:

Views expressed in these public forums are not endorsed by Drexel University or The Math Forum.


Math Forum » Discussions » Software » comp.soft-sys.matlab

Topic: problem with matrix
Replies: 14   Last Post: Apr 8, 2013 4:47 PM

Advanced Search

Back to Topic List Back to Topic List Jump to Tree View Jump to Tree View   Messages: [ Previous | Next ]
dpb

Posts: 8,288
Registered: 6/7/07
Re: problem with matrix
Posted: Apr 8, 2013 12:25 PM
  Click to see the message monospaced in plain text Plain Text   Click to reply to this topic Reply

On 4/8/2013 8:22 AM, zack00 wrote:
> I have a zero matrix with 100 collumns. I save there ploting signal from infinity loop.
> i want save only last 100 collumns..Start running plot and save data to matrix.
> When the matrix is filled delete first collumn and shift to left and save the last value.
>
> Can you help me with this problem?


i=0:11,mod(i,10)+1
idx=0; % index initialization
nCol=size(y,2); % array column size
while
% Next index on range [1,nCol], increment loop counter
idx=mod(idx,nCol)+1; idx=idx+1;

y(:,idx)=yourfunc(whatever);
plot(y(:,idx))
% do whatever else...
end

One can also write the pointer logic as

idx=idx+1; if idx>nCol, idx=1; end

if like.

Whichever way you do it, for maintaining the last N computations in a
circular buffer there's no reason at all to actually shift data every
iteration.

If you want the final results saved in chronological order on
termination of the simulation, say, _THEN_ you can do the reordering once.

--



Point your RSS reader here for a feed of the latest messages in this topic.

[Privacy Policy] [Terms of Use]

© Drexel University 1994-2014. All Rights Reserved.
The Math Forum is a research and educational enterprise of the Drexel University School of Education.