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

1 Ansicht (letzte 30 Tage)
James Usevitch
James Usevitch am 7 Dez. 2018
Bearbeitet: Stephen23 am 7 Dez. 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.

Akzeptierte Antwort

Stephen23
Stephen23 am 7 Dez. 2018
Bearbeitet: Stephen23 am 7 Dez. 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.

Weitere Antworten (0)

Produkte


Version

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by