MATLAB Answers

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

2 views (last 30 days)
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.

Accepted Answer

Stephen Cobeldick
Stephen Cobeldick on 7 Dec 2018
Edited: Stephen Cobeldick 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.

More Answers (0)

Products


Release

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by