How to output entire columns of a cell array?

조회 수: 39 (최근 30일)
Juan Rosado
Juan Rosado 2012년 12월 24일
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
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
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
Matt J 2012년 12월 24일
  댓글 수: 1
Laura Proctor
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 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