identifying the elements of a cell

조회 수: 1 (최근 30일)
CLARK KENDRICK GO
CLARK KENDRICK GO 2018년 7월 10일
댓글: Sammit Jain 2018년 7월 10일
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