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

1 visualizzazione (ultimi 30 giorni)
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.

Risposta accettata

Stephen23
Stephen23 il 7 Dic 2018
Modificato: Stephen23 il 7 Dic 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.

Più risposte (0)

Categorie

Scopri di più su Data Type Identification in Help Center e File Exchange

Prodotti


Release

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by