addressing a cell array
조회 수: 3 (최근 30일)
이전 댓글 표시
i have a cell array like this: < 328,2 > cell named : fastaStrs all i want is to access all rows of the second column of this array. when i type "fastaStrs{:,2}" in command window, each row of the second column of my array is returned seperately. like this: ans: first row of the second column ans: second row of the second column... and so forth. but when i try to use the same syntax in my code,( i am trying to extract the cells containing numeric data from the second column) it doesn't work. ind = find(cellfun(@isnumeric,fastaStrs{:,2}) == 1); returns me this error: cellfun Input #2 expected to be a cell array, was char instead.
any body knows what i am doing wrong?
댓글 수: 0
채택된 답변
Azzi Abdelmalek
2016년 5월 6일
편집: Azzi Abdelmalek
2016년 5월 6일
s={1 'rt';2 'er';3 'tr';4 5 ;8 'zz';9 1}
a=s(:,2)
idx=cellfun(@(x) isequal(1,x),a)
댓글 수: 5
추가 답변 (1개)
CS Researcher
2016년 5월 6일
How about this:
a = cell2mat(fastaStrs);
b = a(:,2);
댓글 수: 3
CS Researcher
2016년 5월 6일
Oh I assumed the entire cell array is of the same type. Can you share the cellarray?
참고 항목
카테고리
Help Center 및 File Exchange에서 Cell Arrays에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!