in command window while displaying a cell, instead of showing arrays , shows how many characters there are

4 次查看(过去 30 天)
in command window while displaying a cell, instead of showing arrays , shows how many characters there are in that array. for example:
RESULT =
'r-t ' 'had'
' KOR' [1x84 char]
'hgfhf' [1x84 char]
'1iopio' [1x80 char]
that shows how many characters there are in RESULT{2,2} and RESULT{3,2} and RESULT{4,2}
  5 个评论
mohammad
mohammad 2011-9-18
so nice
really very nice
is it possible to display in this form(for example): RESULT{RESULT{11,1},RESULT{1,3}} instead of RESULT{11,3}
RESULT{11,1} is the name of a reference in first column
RESULT{1,3} is the name of a input in first row
Fangjun Jiang
Fangjun Jiang 2011-9-18
I guess I don't really understand what you really want based on your question and all your comments.
To display a cell with long string, use disp(RESULT{3,2})
Or you can do: open('RESULT') will bring up the workspace editor.

请先登录,再进行评论。

回答(3 个)

Wayne King
Wayne King 2011-9-18
Hi Mohammad, I'm not sure I understand exactly what you mean here, so I apologize if I am not getting your intent, but perhaps you mean:
C = {'had','KOR', 'hgfhf','1iopio'};
cellfun(@length,C,'UniformOutput',false)
cellfun(@class,C,'UniformOutput',false)
You can easily combine the length and class queries into a single cellfun() call.
Wayne
  2 个评论
mohammad
mohammad 2011-9-18
Thanks for replying
for example
lab='dfgfdgdfgfdgfdgdfgdfg'
dfi='rtysghhjmdfhdfgyutrujy'
%splot is a function
RESULT{2,2}=sprintf('<a href="matlab: splot(%s,%s)">Not</a>',lab,dfi)
and in command window it must show RESULT{2,2}=Not in hyperlink
but it shows numbers of characters of RESULT{2,2} instead of 'Not' in hyperlink

请先登录,再进行评论。


Wayne King
Wayne King 2011-9-18
Hi Mohammad, Hard for me to debug without your splot() because I'm not sure what you are trying to do, but do any of these suggestions help:
One thing you can do if you really want to store the result in a cell array is:
RESULT{2,2}=sprintf('<matlab: splot(%s,%s) Not>',lab,dfi);
RESULT{2,2}
% or
fprintf('<matlab: splot(%s,%s) Not>\n',lab,dfi);

Walter Roberson
Walter Roberson 2011-9-18
This is not a bug; this is how MATLAB designed cell arrays to display on the screen. The same thing happens to numeric vectors and arrays: small ones are displayed directly and anything larger just displays the size and data type.
There is no option to modify this behavior.
Your best option is to write your own display routine that shows your data in the format you want.
  3 个评论
mohammad
mohammad 2011-9-18
@Oleg this characters are not long in command window but these are so long in array of it self. for example for under array:
RESULT{2,2}=sprintf('<a href="matlab: splot(%s,%s)">Not</a>',lab,dfi);
there are more than 100 character. but in command window it must show only 'Not' that is very short.
i must use 'sprintf' that as so as you see i used it in array RESULT{2,2}

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Cell Arrays 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by