Option to turn off variable type display

5 views (last 30 days)
I would like to know how to get rid of the line that tells me what type of variable is. This wasn't there in earlier releases but is there in r2018a. This is very annoying and I'd like to remove it because I already know it is a cell array - I'm the one who made it!
How do I get rid of that part of the display?
>> C = {4,ones(2);randi(3,3,2),randi(3)}
C =
2×2 cell array
{[ 4]} {2×2 double}
{3×2 double} {[ 2]}
Mario Malic
Mario Malic on 11 Nov 2020
Add a semicolon to the end of your line, because you know what is C and what's in C.

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 11 Nov 2020
C = {4,ones(2);randi(3,3,2),randi(3)};
{[ 4]} {2×2 double} {3×2 double} {[ 3]}
That is, the information is not shown if you use disp(). The information is added by display() which is the function that is invoked when you do not have a semi-colon after an expression.
As far as I know, there is no option to tell display() not to put the information in.
David Winthrop
David Winthrop on 11 Nov 2020
Ah. So it looks like I would have to overload display.
Walter Roberson
Walter Roberson on 12 Nov 2020
C = {4,ones(2);randi(3,3,2),randi(3)};
C = 2x2 cell array
{[ 4]} {2×2 double} {3×2 double} {[ 3]}
C = {[ 4]} {2×2 double} {3×2 double} {[ 3]}
function ntdisp(C)
varname = inputname(1);
if isempty(varname); varname = 'ans'; end
fprintf('%s = \n', varname)
Sigh, it turns out the type is sometimes added by disp() instead of display(). For example for transfer functions, toolbox/control/ctrlmodels/@tf/display.m pretty-prints the transfer function without giving a type, but disp() of it displays the list of visible properties instead.

Sign in to comment.

More Answers (0)


Find more on Variables in Help Center and File Exchange





Community Treasure Hunt

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

Start Hunting!