str2func — Construct a function handle from scalar function-name text.
str2func(name) creates a function handle from a character row vector or scalar string. The text can name a builtin, user function, or qualified function; RunMat resolves known semantic functions and retains a late-bound name when resolution must happen later.
Syntax
fh = str2func(name)Inputs
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
name | Any | Yes | — | Function handle text. |
Returns
| Name | Type | Description |
|---|---|---|
fh | Any | Function handle value. |
Errors
| Identifier | When | Message |
|---|---|---|
RunMat:Str2FuncNameShapeInvalid | Input text value is not scalar row text. | str2func: function name text input must be scalar row text |
RunMat:Str2FuncNameTypeInvalid | Input is not string or char text. | str2func: expected string/char function name |
RunMat:Str2FuncNameInvalid | Parsed function name is empty. | str2func: function name must not be empty |
How str2func works
- The input must be scalar row text. Nonscalar string arrays and multirow character arrays reject with a shape error.
- A leading
@is accepted and removed before the name is stored, and surrounding whitespace is ignored. - Empty names reject instead of creating an unusable handle.
- Integer and other numeric inputs are not converted to text. Provider-resident numeric values reject before RunMat attempts a gather.
- RunMat currently constructs named handles. Parsing the full text representation of an anonymous function remains an implementation gap.
Example
Create and call a named function handle
f = str2func('sin');
y = f(pi/2)Expected output:
y = 1Using str2func with coding agents
Open a RunMat example with live inputs, then ask the agent to explain how str2func changes the result.
Run a small str2func example, explain the result, then change one input and compare the output.
FAQ
Does str2func convert a numeric value into a function name?⌄
No. It accepts scalar function-name text only. Convert data to text explicitly only when that is genuinely the intended program behavior.
When is the named function resolved?⌄
RunMat binds a known semantic function immediately when possible. Otherwise it keeps the validated name in the handle so ordinary runtime function resolution can select the target when the handle is called.
Related Introspection functions
addprop · assignin · class · clear · clearAllMemoizedCaches · clearCache · clearvars · dbclear · dbstack · dbstatus · dbtype · evalc · feval · findprop · getcallinfo · inputParser · isa · ischar · isdeployed · iskeyword · ismethod · isobject · isstring · isUnderlyingType · keyboard · matlab.metadata.DynamicProperty.delete · memoize · metaclass · mislocked · mlock · munlock · namelengthmax · narginchk · nargoutchk · notify · onCleanup · stats · superclasses · underlyingType · verLessThan · version · which · who · whos
Open-source implementation
Unlike proprietary runtimes, every RunMat function is open-source. Read exactly how str2func is executed, line by line, in Rust.
- View the source for str2func in Rust on GitHub
- Learn how the RunMat runtime works
- Found a bug? Open an issue with a minimal reproduction.
About RunMat
RunMat is an open-source runtime that executes MATLAB-syntax code blazing on any GPU. It is licensed under the Apache 2.0 license.
- RunMat automatically optimizes your math for GPU execution on Apple, Nvidia, and AMD hardware. No code changes needed. Simulations that took hours now take minutes.
- Start running code in seconds. RunMat runs in the browser, on the desktop, or from the CLI. No license server, no IT ticket.