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

3 visualizaciones (últimos 30 días)
Ray
Ray el 5 de Oct. de 2015
Respondida: Andrei Bobrov el 6 de Oct. de 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 comentarios
Walter Roberson
Walter Roberson el 5 de Oct. de 2015
I am not clear on what the size is of each element of the cell array?
Ray
Ray el 6 de Oct. de 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.

Iniciar sesión para comentar.

Respuestas (3)

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

Image Analyst
Image Analyst el 5 de Oct. de 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 comentarios
Image Analyst
Image Analyst el 5 de Oct. de 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 el 6 de Oct. de 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.

Iniciar sesión para comentar.


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

Categorías

Más información sobre Resizing and Reshaping Matrices en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by