separate x, y coordinate in a matrix into two different matrices

4 views (last 30 days)
I have 18 by 18 matrix with each cell has [-1;1] [-1;1] etc.. I want to separate this matrix into two 18 by 18 matrices. The first matrix would only have the first row for example, -1,-1 and the second matrix would have the second column for example 1, 1.
  2 Comments
Walter Roberson
Walter Roberson on 5 Oct 2015
I am not clear on what the size is of each element of the cell array?
Ray
Ray on 6 Oct 2015
each cell in the 18 by 18 matrix is 2 by 1 cell i.e. [-1;1] which represents the [x;y]. I need to separate the all x's in one matrix and all the y in another matrix.

Sign in to comment.

Answers (3)

Walter Roberson
Walter Roberson on 6 Oct 2015
x = cellfun(@(C) C(1), YourCell);
y = cellfun(@(C) C(2), YourCell);

Image Analyst
Image Analyst on 5 Oct 2015
Assuming it's a normal numerical matrix and not a cell array, try this:
firstRow = yourMatrix(1,:); % Extract first row.
secondRow = yourMatrix(2,:); % Extract second row.
  2 Comments
Image Analyst
Image Analyst on 5 Oct 2015
Oh, sorry, you said you want the first row and the second column, not second row. To get the second column, you'd do this:
secondCol = yourMatrix(:, 2); % Extract second column.
Ray
Ray on 6 Oct 2015
each cell of the 18 by 18 matrix looks like this [x;y] or [-1;1]. what i want to do is have all the x in one matrix and y in another matrix.

Sign in to comment.


Andrei Bobrov
Andrei Bobrov on 6 Oct 2015
cell2mat(cellfun(@(x)reshape(x,1,1,[]),C,'un',0))

Categories

Find more on Resizing and Reshaping Matrices in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!