JMI – Java-to-Matlab Interface
JMI enables calling Matlab functions from within Java. This article explains JMI’s core functionality.
Image Easter egg
The default image presented by Matlab’s image function has a very interesting undocumented story.
Plot LimInclude properties
The plot objects’ XLimInclude, YLimInclude, ZLimInclude, ALimInclude and CLimInclude properties are an important feature, that has both functional and performance implications.
Axes LooseInset property
Matlab plot axes have an undocumented LooseInset property that sets empty margins around the axes, and can be set to provide a tighter fit of the axes to their surroundings.
Plot LineSmoothing property
LineSmoothing is a hidden and undocumented plot line property that creates anti-aliased (smooth unpixelized) lines in Matlab plots
Matlab and the Event Dispatch Thread (EDT)
The Java Swing Event Dispatch Thread (EDT) is very important for Matlab GUI timings. This article explains the potential pitfalls and their avoidance using undocumented Matlab functionality.
Setting desktop tab completions
The Matlab desktop’s Command-Window tab-completion can be customized for user-defined functions
Inactive Control Tooltips & Event Chaining
Inactive Matlab uicontrols cannot normally display their tooltips. This article shows how to do this with a combination of undocumented Matlab and Java hacks.
Additional uicontrol tooltip hacks
Matlab’s uicontrol tooltips have several limitations that can be overcome using the control’s underlying Java object.
Continuous slider callback
Matlab slider uicontrols do not enable a continuous-motion callback by default. This article explains how this can be achieved using undocumented features.
Solving a MATLAB bug by subclassing
Matlab’s Image Processing Toolbox’s impoint function contains an annoying bug that can be fixed using some undocumented properties.
Customizing listbox & editbox scrollbars
Matlab listbox and multi-line editbox uicontrols have pre-configured scrollbars. This article shows how they can be customized.
setPrompt – Setting the Matlab Desktop prompt
The Matlab Desktop’s Command-Window prompt can easily be modified using some undocumented features
Rich Matlab editbox contents
The Matlab editbox uicontrol does not handle HTML contents as do other uicontrols. In this article I show how this limitation can be removed.
FindJObj GUI – display container hierarchy
The FindJObj utility can be used to present a GUI that displays a Matlab container’s internal Java components, properties and callbacks.
FindJObj – find a Matlab component's underlying Java object
The FindJObj utility can be used to access and display the internal components of Matlab controls and containers. This article explains its uses and inner mechanism.
Customizing Matlab's Workspace table
The Matlab Desktop’s Workspace pane table can be customized, as described here
GUI integrated HTML panel
Simple HTML can be presented in a Java component integrated in Matlab GUI, without requiring the heavy browser control.
GUI integrated browser control
A fully-capable browser component is included in Matlab and can easily be incorporated in regular Matlab GUI applications. This article shows how.
Customizing help popup contents
The built-in HelpPopup, available since Matlab R2007b, has a back-door that enables displaying arbitrary text, HTML and URL web-pages.
Customizing print setup
Matlab figures print-setup can be customized to automatically prepare the figure for printing in a specific configuration
Undocumented XML functionality
Matlab’s built-in XML-processing functions have several undocumented features that can be used by Java-savvy users
Customizing Matlab labels
Matlab’s text uicontrol is not very customizable, and does not support HTML or Tex formatting. This article shows how to display HTML labels in Matlab and some undocumented customizations
This article describes how Matlab’s undocumented uiundo undo/redo manager can be customized
uiundo – Matlab's undocumented undo/redo manager
The built-in uiundo function provides easy yet undocumented access to Matlab’s powerful undo/redo functionality. This article explains its usage.