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

NameTypeRequiredDefaultDescription
AAnyYesInput value to inspect.

Returns

NameTypeDescription
tfLogicalArrayTrue 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::HandleObject instances, so isobject does 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.

Open-source implementation

Unlike proprietary runtimes, every RunMat function is open-source. Read exactly how isobject is executed, line by line, in Rust.

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.

Getting started · Benchmarks · Pricing

Download RunMat

Download RunMat for full performance, or use RunMat in your browser for zero setup.