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

2 Ansichten (letzte 30 Tage)
Ray
Ray am 5 Okt. 2015
Beantwortet: Andrei Bobrov am 6 Okt. 2015
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 Kommentare
Walter Roberson
Walter Roberson am 5 Okt. 2015
I am not clear on what the size is of each element of the cell array?
Ray
Ray am 6 Okt. 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.

Melden Sie sich an, um zu kommentieren.

Antworten (3)

Walter Roberson
Walter Roberson am 6 Okt. 2015
x = cellfun(@(C) C(1), YourCell);
y = cellfun(@(C) C(2), YourCell);

Image Analyst
Image Analyst am 5 Okt. 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 Kommentare
Image Analyst
Image Analyst am 5 Okt. 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 am 6 Okt. 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.

Melden Sie sich an, um zu kommentieren.


Andrei Bobrov
Andrei Bobrov am 6 Okt. 2015
cell2mat(cellfun(@(x)reshape(x,1,1,[]),C,'un',0))

Kategorien

Mehr zu Resizing and Reshaping Matrices 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