Why does function isscalar() return "1" for function handles?
3 views (last 30 days)
Why does the function isscalar return a logical 1 for function handles? Working example:
test_function = @(x) x^2;
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.
Stephen23 on 7 Dec 2018
Edited: Stephen23 on 7 Dec 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.