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

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

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

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)

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

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!