isobject — Return true when a value is a MATLAB object.
isobject(A) returns true when A is represented as a MATLAB class object in RunMat, including value objects, handle objects, listeners, metaclass references, and MException values. Plotting handles are still represented by RunMat's numeric graphics-handle compatibility layer, so use ishandle/graphics APIs for those until graphics handles move to object values.
Syntax
tf = isobject(A)Inputs
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
A | Any | Yes | — | Input value to inspect. |
Returns
| Name | Type | Description |
|---|---|---|
tf | LogicalArray | True when input is a MATLAB object. |
How isobject works
- Value-class and handle-class instances return
logical(1). - Runtime object values such as event listeners, metaclass references, MException instances, and gpuArray handles return
logical(1)because they expose MATLAB class/object semantics. - Numeric, logical, character, string, cell, struct, and function-handle values return
logical(0). - Current RunMat plotting handles are numeric compatibility handles rather than
Value::HandleObjectinstances, soisobjectdoes not treat figure, axes, or plot-child handles as objects yet. - The predicate does not inspect object properties or call user code.
Examples
Check ordinary numeric data
tf = isobject(42)Expected output:
tf = logical(0)Check a class object
obj = classref("Point").origin();
tf = isobject(obj)Expected output:
tf = logical(1)Function handles are not objects
tf = isobject(@sin)Expected output:
tf = logical(0)Using isobject with coding agents
Open a RunMat example with live inputs, then ask the agent to explain how isobject changes the result.
Run a small isobject example, explain the result, then change one input and compare the output.
FAQ
Does isobject call class methods?⌄
No. It only inspects runtime type metadata and never invokes user-defined code.
Are structs objects?⌄
No. MATLAB structs are data containers, not class objects, so isobject(struct(...)) returns false.
What about gpuArray?⌄
A gpuArray is represented by a GPU-resident handle in RunMat and follows MATLAB's object classification, so isobject(gpuArray(...)) returns true without gathering the buffer.
What about graphics handles?⌄
RunMat currently represents figure, axes, and plot-child handles as numeric compatibility handles. Use ishandle, get, set, and graphics query functions for those handles; object-valued graphics handles require a broader graphics-handle representation change.
Related Introspection functions
addprop · class · clear · clearAllMemoizedCaches · clearCache · clearvars · dbclear · dbstack · dbstatus · dbtype · evalc · findprop · getcallinfo · inputParser · isa · ischar · isdeployed · iskeyword · ismethod · isstring · isUnderlyingType · keyboard · matlab.metadata.DynamicProperty.delete · memoize · metaclass · mislocked · mlock · munlock · namelengthmax · onCleanup · stats · superclasses · underlyingType · verLessThan · version · which · who · whos
Open-source implementation
Unlike proprietary runtimes, every RunMat function is open-source. Read exactly how isobject is executed, line by line, in Rust.
- View the source for isobject 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.