identifying the elements of a cell

1 次查看(过去 30 天)
I have a 700x8 cell, with each cell having a matrix 6x2 in size. I want to get the first row of each cell. How do I perform this?

采纳的回答

Mandeep  Singh
Mandeep Singh 2018-7-10
编辑:Mandeep Singh 2018-7-10
From my understanding of the question, you can achieve the required task by following snippet of code:
cnt = 1;
for i = 1:700
for j = 1:8
a(cnt) = C{i,j}(1,:); % stores the first row of each cell in a;
cnt = cnt + 1;
end
end
  1 个评论
Sammit Jain
Sammit Jain 2018-7-10
I think using a for loop will be slightly computationally expensive in this case.

请先登录,再进行评论。

更多回答(1 个)

Sammit Jain
Sammit Jain 2018-7-10
Hi, This seems to be a simple case of cell indexing.
Let's call your original cell array (of cells) 'mainCellArray'
Now, let's have allRowsArray = [mainCellArray{:}] Then, firstRowArray = [allRowsArray{1,:}]
Essentially, we're first re-arranging the contents of the main cell array, stacking them one next to the other, then we just index the first row.
Here's what the code should look like:
allRowsArray = [mainCellArray{:}];
firstRowArray = [allRowsArray{1,:}]
Hope this helps. If in case you want to pick a different combination of rows/columns, then just try to transpose these concatenations and see if you get what you want.
Cheers.

类别

Help CenterFile Exchange 中查找有关 Matrix Indexing 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by