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

4 次查看(过去 30 天)
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 个评论
Ray
Ray 2015-10-6
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.

请先登录,再进行评论。

回答(3 个)

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

Image Analyst
Image Analyst 2015-10-5
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 个评论
Image Analyst
Image Analyst 2015-10-5
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 2015-10-6
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.

请先登录,再进行评论。


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

类别

Help CenterFile Exchange 中查找有关 Resizing and Reshaping Matrices 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by