Why does function isscalar() return "1" for function handles?

2 visualizaciones (últimos 30 días)
James Usevitch
James Usevitch el 7 de Dic. de 2018
Editada: Stephen23 el 7 de Dic. de 2018
Why does the function isscalar return a logical 1 for function handles? Working example:
test_function = @(x) x^2;
isscalar(test_function)
The above code returns a logical 1 for me. I'm running MATLAB R2018a on Ubuntu 16.04.
This came up while writing code that programmatically finds all scalar properties of an object. Not a big deal since I can use this answer as a workaround--I'm just asking out of curiosity.

Respuesta aceptada

Stephen23
Stephen23 el 7 de Dic. de 2018
Editada: Stephen23 el 7 de Dic. de 2018
Because the documentation states that "A function handle is always scalar (1-by-1)."
MATLAB is based on the principal that everything is an array... so when function handles were added to MATLAB I guess they also had to fit inside this paradigm.

Más respuestas (0)

Categorías

Más información sobre Matrix Indexing en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by