Exploring MATLAB : Subsref Method for Custom Indexing.

MATLAB, a powerful numerical computing environment, offers a wide range of tools for solving complex mathematical problems. One of the lesser-known features in MATLAB is the subsref method, which allows you to customize how indexing and referencing of objects within classes are handled. In this article, we will delve into the subsref method and how it can be used to enhance your MATLAB programming skills.

Understanding the subsref Method:

The subsref method is a fundamental part of MATLAB’s object-oriented programming capabilities. It plays a crucial role when you need to customize the behavior of objects in your classes, especially when it comes to indexing and referencing those objects.

Types of Indexing:

In MATLAB, there are various types of indexing operations, including parentheses (), braces {}, and dot notation .. Each of these indexing methods can be customized using the subsref method. Let’s explore each type:

Parentheses Indexing: Parentheses

Parentheses indexing is commonly used for function calls in MATLAB. When overloading the subsref method for parentheses indexing, you can handle input parameters and return specific results based on those inputs. For instance, you can perform mathematical operations and return computed values.

function b = subsref(a, s)
    if s(1).type == '()'
        % Handle indexing and return results
Exploring MATLAB : Subsref Method for Custom Indexing
Exploring MATLAB : Subsref Method for Custom Indexing

Brace Indexing:

Unlike parentheses indexing, brace indexing is not built into standard MATLAB classes. However, it can be customized for your classes. Brace indexing is typically used with cell arrays or objects that mimic cell arrays. To handle brace indexing, you can return specific elements or properties of your objects.

function b = subsref(a, s)
    if s(1).type == '{}'
        % Handle indexing and return specific elements or properties

Dot Notation:

The dot notation is used for member indexing, allowing you to access properties or methods of objects. When customizing the subsref method for dot notation, you can define how properties or methods are accessed.

function b = subsref(a, s)
    if s(1).type == '.'
        % Handle member indexing and return specific properties or methods

Practical Example:

To demonstrate the subsref method in action, consider a custom MATLAB class called MPolynom. This class represents polynomials and customizes the subsref method to allow for different indexing operations.


The subsref method in MATLAB is a powerful tool for customizing how objects are indexed and referenced in your classes. By understanding the various types of indexing operations and how to handle them using subsref, you can enhance the functionality and usability of your MATLAB programs.

In this article, we explored the basics of the subsref method and its importance in MATLAB’s object-oriented programming paradigm. We also discussed practical examples and how you can use subsref to customize indexing operations for your own classes.

References – Exploring MATLAB : Subsref Method for Custom Indexing :

  1. Exploring MATLAB Color Options
  2. Maurice’s Guide to Sports Survey Results in MATLAB
  3. Efficiently Adding Block Sessions to Electronic Agendas in MATLAB
  4. Managing Files and Directories in MATLAB Unix Terminal
  5. Integrating Fortran Code with MATLAB: A Comprehensive Guide
Retour en haut