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

 Respuesta aceptada

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 comentario

As described here:
http://www.mathworks.com/help/techdoc/ref/syntax.html
This is called command-function duality.

Iniciar sesión para comentar.

Más respuestas (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 comentario

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 ()

Iniciar sesión para comentar.

Etiquetas

Preguntada:

el 15 de Jun. de 2011

Community Treasure Hunt

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

Start Hunting!

Translated by