2 views (last 30 days)

Show older comments

I have a table with two columns as circle's centre position and third one with frame number 1-1000. I want to obtain the values of circle centres in frame n and n-1 at a time, inorder to make matrix out of it

How can I do that?

Adam Danz
on 14 Jul 2019

Edited: Adam Danz
on 14 Jul 2019

I'm not sure what you mean by "in order to make a matrix out of it". If this demo doesn't address the problem, please provide an example. Otherwise, here's how to extract the (x,y) coordinates for a given frame.

%Fake data

T = table((1:9)',(2:10)',[1;1;1;2;2;2;3;3;3],'VariableNames',{'X','Y','Frame'});

f = 2; % frame number

frameIdx = T.Frame == f; %row numbers of frame n

frameIdx = T.Frame == f-1; %row numbers of frame n-1 (not used in this demo)

% FROM HERE YOU CAN DO LOTS OF THINGS LIKE...

% ...isolate rows of table that belong to frame n

T(frameIdx,:)

% ...isolate only the (X,Y) values that belong to frame n

T(frameIdx,{'X','Y'})

% ...put (X,Y) values from frame n into a matrix

T{frameIdx,{'X','Y'}}

I recommend keeping the data in the table rather than extracting it into a matrix unless your analysis requres a matrix.

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

Start Hunting!