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

4 vues (au cours des 30 derniers jours)
Ray
Ray le 5 Oct 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 commentaires
Walter Roberson
Walter Roberson le 5 Oct 2015
I am not clear on what the size is of each element of the cell array?
Ray
Ray le 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.

Connectez-vous pour commenter.

Réponses (3)

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

Image Analyst
Image Analyst le 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 commentaires
Image Analyst
Image Analyst le 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 le 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.

Connectez-vous pour commenter.


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

Catégories

En savoir plus sur Resizing and Reshaping Matrices dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by