Programming |
Additional Information on Function Handles
This section covers the following topics:
Maximum Length of a Function Name
Function names used in handles are unique up to N
characters, where N
is the number returned by the function namelengthmax
. If the function name exceeds that length, MATLAB truncates the latter part of the name.
For function handles created for Java constructors, the length of any segment of the package name or class name must not exceed namelengthmax
characters. (The term segment refers to any portion of the name that lies before, between, or after a dot. For example, java.lang.String
has three segments). The overall length of the string specifying the package and class has no limit.
How MATLAB Constructs a Function Handle
At the time you create a function handle, MATLAB maps the handle to one or more implementations of the function specified in the constructor statement:
In selecting which function(s) to map to, MATLAB considers
double
or char
, then MATLAB maps the handle to these M-files as well.
M-files that overload a function for classes outside of the standard MATLAB data types are not mapped to the function handle at the time it is constructed. Function handles do operate on these types of overloaded functions, but MATLAB determines which implementation to call at the time of evaluation in this case.
Saving and Loading Function Handles
You can save and load function handles in a MAT-file using the MATLAB save
and load
functions. If you load a function handle that you saved in an earlier MATLAB session, the following conditions could cause unexpected behavior:
In both of these cases, the function handle is now invalid because it no longer maps to any existing function code. Although the handle is invalid, MATLAB still performs the load successfully and without displaying a warning. Attempting to invoke the handle, however, results in an error.
Function Handles | Calling Functions |
© 1994-2005 The MathWorks, Inc.