Undocumented Matlab
  • SERVICES
    • Consulting
    • Development
    • Training
    • Gallery
    • Testimonials
  • PRODUCTS
    • IQML: IQFeed-Matlab connector
    • IB-Matlab: InteractiveBrokers-Matlab connector
    • EODML: EODHistoricalData-Matlab connector
    • Webinars
  • BOOKS
    • Secrets of MATLAB-Java Programming
    • Accelerating MATLAB Performance
    • MATLAB Succinctly
  • ARTICLES
  • ABOUT
    • Policies
  • CONTACT
  • SERVICES
    • Consulting
    • Development
    • Training
    • Gallery
    • Testimonials
  • PRODUCTS
    • IQML: IQFeed-Matlab connector
    • IB-Matlab: InteractiveBrokers-Matlab connector
    • EODML: EODHistoricalData-Matlab connector
    • Webinars
  • BOOKS
    • Secrets of MATLAB-Java Programming
    • Accelerating MATLAB Performance
    • MATLAB Succinctly
  • ARTICLES
  • ABOUT
    • Policies
  • CONTACT
Technical articles

Technical articles

JMI – Java-to-Matlab Interface

JMI enables calling Matlab functions from within Java. This article explains JMI’s core functionality.

Read More »
April 14, 2010 25 Comments

Image Easter egg

The default image presented by Matlab’s image function has a very interesting undocumented story.

Read More »
April 6, 2010 2 Comments

Plot LimInclude properties

The plot objects’ XLimInclude, YLimInclude, ZLimInclude, ALimInclude and CLimInclude properties are an important feature, that has both functional and performance implications.

Read More »
March 31, 2010 9 Comments

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.

Read More »
March 24, 2010 21 Comments

Plot LineSmoothing property

LineSmoothing is a hidden and undocumented plot line property that creates anti-aliased (smooth unpixelized) lines in Matlab plots

Read More »
March 17, 2010 34 Comments

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.

Read More »
March 10, 2010 40 Comments

Setting desktop tab completions

The Matlab desktop’s Command-Window tab-completion can be customized for user-defined functions

Read More »
March 3, 2010 37 Comments

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.

Read More »
February 24, 2010 8 Comments

Additional uicontrol tooltip hacks

Matlab’s uicontrol tooltips have several limitations that can be overcome using the control’s underlying Java object.

Read More »
February 17, 2010 7 Comments

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.

Read More »
February 8, 2010 56 Comments

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.

Read More »
February 7, 2010 4 Comments

Customizing listbox & editbox scrollbars

Matlab listbox and multi-line editbox uicontrols have pre-configured scrollbars. This article shows how they can be customized.

Read More »
February 1, 2010 54 Comments

setPrompt – Setting the Matlab Desktop prompt

The Matlab Desktop’s Command-Window prompt can easily be modified using some undocumented features

Read More »
January 25, 2010 15 Comments

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.

Read More »
January 20, 2010 51 Comments

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.

Read More »
January 12, 2010 7 Comments

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.

Read More »
January 6, 2010 69 Comments

Customizing Matlab's Workspace table

The Matlab Desktop’s Workspace pane table can be customized, as described here

Read More »
January 2, 2010 19 Comments

GUI integrated HTML panel

Simple HTML can be presented in a Java component integrated in Matlab GUI, without requiring the heavy browser control.

Read More »
December 15, 2009 3 Comments

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.

Read More »
December 9, 2009 56 Comments

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.

Read More »
November 30, 2009 9 Comments

Customizing print setup

Matlab figures print-setup can be customized to automatically prepare the figure for printing in a specific configuration

Read More »
November 25, 2009 9 Comments

Undocumented XML functionality

Matlab’s built-in XML-processing functions have several undocumented features that can be used by Java-savvy users

Read More »
November 18, 2009 6 Comments

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

Read More »
November 11, 2009 12 Comments

Customizing uiundo

This article describes how Matlab’s undocumented uiundo undo/redo manager can be customized

Read More »
November 4, 2009 9 Comments

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.

Read More »
October 29, 2009 2 Comments
Page1 Page2 Page3 Page4 Page5 Page6 Page7 Page8 Page9 Page10 Page11 Page12 Page13 Page14 Page15 Page16 Page17
Print This Page Print This Page
Useful links
  •  Email Yair Altman
  •  Subscribe to new posts (email)
  •  Subscribe to new posts (feed)
  •  Subscribe to new posts (reader)
  •  Subscribe to comments (feed)
 
Accelerating MATLAB Performance book
Recent Posts

Speeding-up builtin Matlab functions – part 3

Improving graphics interactivity

Interesting Matlab puzzle – analysis

Interesting Matlab puzzle

Undocumented plot marker types

Matlab toolstrip – part 9 (popup figures)

Matlab toolstrip – part 8 (galleries)

Matlab toolstrip – part 7 (selection controls)

Matlab toolstrip – part 6 (complex controls)

Matlab toolstrip – part 5 (icons)

Matlab toolstrip – part 4 (control customization)

Reverting axes controls in figure toolbar

Matlab toolstrip – part 3 (basic customization)

Matlab toolstrip – part 2 (ToolGroup App)

Matlab toolstrip – part 1

Categories
  • Desktop (45)
  • Figure window (59)
  • Guest bloggers (65)
  • GUI (165)
  • Handle graphics (84)
  • Hidden property (42)
  • Icons (15)
  • Java (174)
  • Listeners (22)
  • Memory (16)
  • Mex (13)
  • Presumed future risk (394)
    • High risk of breaking in future versions (100)
    • Low risk of breaking in future versions (160)
    • Medium risk of breaking in future versions (136)
  • Public presentation (6)
  • Semi-documented feature (10)
  • Semi-documented function (35)
  • Stock Matlab function (140)
  • Toolbox (10)
  • UI controls (52)
  • Uncategorized (13)
  • Undocumented feature (217)
  • Undocumented function (37)
Tags
ActiveX (6) AppDesigner (9) Callbacks (31) Compiler (10) Desktop (38) Donn Shull (10) Editor (8) Figure (19) FindJObj (27) GUI (141) GUIDE (8) Handle graphics (78) HG2 (34) Hidden property (51) HTML (26) Icons (9) Internal component (39) Java (178) JavaFrame (20) JIDE (19) JMI (8) Listener (17) Malcolm Lidierth (8) MCOS (11) Memory (13) Menubar (9) Mex (14) Optical illusion (11) Performance (78) Profiler (9) Pure Matlab (187) schema (7) schema.class (8) schema.prop (18) Semi-documented feature (6) Semi-documented function (33) Toolbar (14) Toolstrip (13) uicontrol (37) uifigure (8) UIInspect (12) uitools (20) Undocumented feature (187) Undocumented function (37) Undocumented property (20)
Recent Comments
  • Collin (2 days 3 hours ago): Seth Good point, I am using 2022b, mathworks seems to have started using CEF browsers from 2019a, best I can tell. take a look at the package com.mathworks.toolbox.matla...
  • Seth (2 days 19 hours ago): Collin, What version of MATLAB are you using?
  • Collin (8 days 1 hour ago): Seth, I have had some success executing javascript that requires no return value by executing it directly (sort of) on the org.cef.browser.CefBrowser that a...
  • Coo Coo (9 days 20 hours ago): FFT-based convolution is circular whereas MATLAB’s conv functions have several options (‘valid’, ‘same’, ‘full’) but unfortunately not...
  • Seth (9 days 23 hours ago): No luck with removing the space.
  • Seth (10 days 1 hour ago): The javascript code works fine running the application from the 2019b desktop version and the 2016b deployed version.
  • Seth (10 days 1 hour ago): I have been using this browser functionality in 2016b because it works fully in deployed applications in that version. However, because of Java 7 being flagged as a security risk, I...
  • Yair Altman (10 days 1 hour ago): I’ve never tested javascript callbacks, but perhaps you should try removing the extra space after the “matlab:” protocol specifier. Does it make any difference?
  • Seth (10 days 2 hours ago): I have been using this functionality in 2016b since it works in deployed applications and have not had a reason to need to upgrade but with java 7 being flagged as a security risk I am...
  • KEVIN (30 days 2 hours ago): I apologize, I intended my response to fall under ‘T’ but did not seem to work. I was referring to the bit of code posted by ‘T’ regarding the toolgroup and...
  • Yair Altman (30 days 3 hours ago): It is not clear from your comment which code exactly you are referring to and what you see differently in 19b vs. 20b, so I cannot assist with your specific query. In general I...
  • Kevin (31 days 4 hours ago): Any ideas on why this bit of code looks fine in say R2020b but produces an incorrect image in R2019b? I’m not seeing any error printouts that suggest it’s unhappy with the...
  • Yair Altman (50 days 3 hours ago): titleStr = char(hFig.Name); if strcmpi(hFig.NumberTitle,'on') prefix = ['Figure ' num2str(hFig.Number)]; if ~isempty(titleStr) titleStr = [prefix ': ' titleStr]; else titleStr...
  • T (56 days 2 hours ago): Mathworks has indeed been migrating its Java-based apps (like the PIDtuner, as you mentioned) to html-based ones (uifigures) so that they can be used in Matlab online. If you drill a bit...
  • Kevin (56 days 5 hours ago): Found it, findjobj utility was extremely helpful here, you can see there’s a CloseButton object there, just need to set the visible parameter to false. Easily done in the...
Contact us
Undocumented Matlab © 2009 - Yair Altman
This website and Octahedron Ltd. are not affiliated with The MathWorks Inc.; MATLAB® is a registered trademark of The MathWorks Inc.
Scroll to top