Why are the results of the size function different from the whos function Size?

1 view (last 30 days)
Why are the results of the size function different from the whos function Size?
Here is an example:
>> excelstring = strfind('ABC DUMP.txt','.xls')
excelstring =
[]
>> size excelstring
ans =
1 11
>> whos excelstring Name Size Bytes Class Attributes
excelstring 0x0 0 double

Accepted Answer

James Tursa
James Tursa on 15 Jun 2011
Doing this:
size excelstring
Is equivalent to doing this:
size('excelstring')
Whenever you invoke a function without the parens, the remainder of your inputs are taken to be literal string(s).
  1 Comment
Matt Fig
Matt Fig on 15 Jun 2011
As described here:
http://www.mathworks.com/help/techdoc/ref/syntax.html
This is called command-function duality.

Sign in to comment.

More Answers (1)

the cyclist
the cyclist on 15 Jun 2011
Because the syntax for what you wanted is
>> size(excelstring)
Looks like your syntax is giving the size of the string 'excelstring', rather than that of the variable named excelstring.
  1 Comment
Chirag Gupta
Chirag Gupta on 15 Jun 2011
To explain further, size excelstring is equivalent to asking MATLAB to compute size('excelstring').
MATLAB takes the arguments as strings if they are not passed in parenthesis ()

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!