How to output entire columns of a cell array?
조회 수: 39 (최근 30일)
이전 댓글 표시
I have this cell array and I want to output an entire column from the workspace.
The function goes like this,
function Time = Rin
fid = fopen( 'Rincon.txt' );
Time = textscan( fid, '%d%d%d%d%d%f%f%f%f%f%s%s%s%f%f' ...
, 'Delimiter' , ' ' ...
, 'CollectOutput' , true ...
, 'HeaderLines' , 2 ...
, 'MultipleDelimsAsOne' , true ...
, 'Whitespace' , '' ...
);
fclose( fid );
end
When Run, the output is this,
ans =
[2163x5 int32] [2163x5 double] {2163x3 cell} [2163x2 double]
I want to illustrate on the Command Window the entire first column of the array, ans {1,2}
Can you please help?
댓글 수: 4
Azzi Abdelmalek
2012년 12월 24일
Walter, What do you mean by more right, and what will you win by adding two character (A(1,2) instead of A(2)), also why not A(1,2,1)?
Jan
2012년 12월 24일
@Azzi: If you have an indexing bug in a program and confuse column with row vectors, using the explicit C{1,2} indexing can help to locate the problem. But this costs some processing time and it is less "nice".
The linear indexing is efficient for matrices also:
M = rand(2,2)
disp(M(4))
But this must be applied carefully and the explicite indexing is in most cases easier to debug. So finally, A{2} or A{1,2} is equivalent and it is a question of taste and the choice might depend on the decision, if the run time or the debug time is more important.
채택된 답변
Matt J
2012년 12월 24일
ans{2}(:,1)
댓글 수: 1
Laura Proctor
2012년 12월 24일
You can get the contents inside the cells out using curly braces. Once you do that, you index into the numeric array just like you would any variable.
Sometimes, it is easier for people to use intermediate variables to understand it better.
For example, here I am using an intermediate variable, x:
x = Time{2};
y = x(:,1);
Although doing this makes it easier for some to understand and is a good for learning, doing it all in one go, as Matt J has shown, is best practice.
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Matrix Indexing에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!