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

Accessing the Matlab Editor

The Matlab Editor can be accessed programmatically, for a wide variety of possible uses – this article shows how.

Read More »
October 19, 2009 50 Comments

Updating speaker sound volume

Matlab enables setting the speaker volume via documented Java calls

Read More »
October 15, 2009 9 Comments

Performance: scatter vs. line

In many circumstances, the line function can generate visually-identical plots as the scatter function, much faster

Read More »
October 14, 2009 4 Comments

Undocumented scatter plot behavior

The scatter plot function has an undocumented behavior when plotting more than 100 points: it returns a single unified patch object handle, rather than a patch handle for each specific point as it returns with 100 or less points.

Read More »
October 12, 2009 18 Comments

uicontrol side-effect: removing figure toolbar

Matlab’s built-in uicontrol function has a side-effect of removing the figure toolbar. This was undocumented until lately. This article describes the side-effect behavior and how to fix it.

Read More »
October 7, 2009 No Comments

Undocumented mouse pointer functions

Matlab contains several well-documented functions and properties for the mouse pointer. However, some very-useful functions have remained undocumented and unsupported. This post details their usage.

Read More »
September 24, 2009 33 Comments

Detecting window focus events

Matlab does not have any documented method to detect window focus events (gain/loss). This article describes an undocumented way to detect such events.

Read More »
September 9, 2009 41 Comments

R2009b keyboard bindings

The new Matlab release R2009b includes the ability to customize keyboard bindings for the editor and Command Window. However, there are still some uses for the EditorMacro utility and its variants.

Read More »
September 6, 2009 No Comments

Figure toolbar customizations

Matlab’s toolbars can be customized using a combination of undocumented Matlab and Java hacks. This article describes how to customize the Matlab figure toolbar.

Read More »
September 2, 2009 24 Comments

Figure toolbar components

Matlab’s toolbars can be customized using a combination of undocumented Matlab and Java hacks. This article describes how to access existing toolbar icons and how to add non-button toolbar components.

Read More »
August 27, 2009 50 Comments

EditorMacro v2 – setting Command Window key-bindings

The EditorMacro utility was extended to support built-in Matlab Editor and Command-Window actions and key-bindings. This post describes the changes and the implementation details.

Read More »
August 20, 2009 4 Comments

Setting listbox mouse actions

Matlab listbox uicontrol can be modified to detect mouse events for right-click context menus, dynamic tooltips etc.

Read More »
August 13, 2009 34 Comments

Context-Sensitive Help

Matlab has a hidden/unsupported built-in mechanism for easy implementation of context-sensitive help

Read More »
August 5, 2009 10 Comments

Setting status-bar components

Matlab status-bars are Java containers in which we can add GUI controls such as progress-bars, not just simple text labels

Read More »
July 30, 2009 20 Comments

Setting status-bar text

The Matlab desktop and figure windows have a usable statusbar which can only be set using undocumented methods. This post shows how to set the status-bar text.

Read More »
July 23, 2009 64 Comments

Non-textual editor actions

The UIINSPECT utility can be used to expand EditorMacro capabilities to non-text-insertion actions. This is how:

Read More »
July 17, 2009 10 Comments

BlinkDagger – the end?

In his latest post on BlinkDagger, Quan Quach announced that the BlinkDagger blog will be frozen following co-author Daniel Sutoyo’s hiring by The MathWorks and the continuous strain of maintaining the blog single-handedly. This is sad news indeed for the Matlab user community. Over the past few years, BlinkDagger has

Read More »
July 8, 2009 2 Comments

EditorMacro – assign a keyboard macro in the Matlab editor

EditorMacro is a new utility that enables setting keyboard macros in the Matlab editor. this post details its inner workings.

Read More »
July 1, 2009 24 Comments

Setting the Matlab desktop layout programmatically

The Matlab desktop enables saving and switching layouts using the main menu. This post shows how to do so programmatically.

Read More »
June 24, 2009 6 Comments

Changing system preferences programmatically

Matlab user/system preferences can be changed programmatically, from within your Matlab application or from the Matlab desktop command prompt. This post details how.

Read More »
June 17, 2009 16 Comments

GUIDE customization

Matlab’s GUI Design Editor (GUIDE) has several interesting undocumented features. This post describes how to customize GUIDE rulers.

Read More »
June 10, 2009 8 Comments

Legend '-DynamicLegend' semi-documented feature

The built-in Matlab legend function has a very useful semi-documented feature for automatic dynamic update, which is explained here.

Read More »
June 4, 2009 21 Comments

Spicing up Matlab uicontrol tooltips

Matlab uicontrol tooltips can be spiced-up using HTML and CSS, including fonts, colors, tables and images

Read More »
May 27, 2009 20 Comments

tic / toc – undocumented option

Matlab’s built-in tic/toc functions have an undocumented option enabling multiple nested clockings

Read More »
May 22, 2009 15 Comments

cprintf – display formatted color text in the Command Window

cprintf is a utility that utilized undocumented Matlab desktop functionalities to display color and underline-styled formatted text in the Command Window

Read More »
May 13, 2009 55 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
  • Nicholas (9 hours 39 minutes ago): Yair, this works wonderfully! I can’t thank you enough!
  • Collin (2 days 13 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 (3 days 5 hours ago): Collin, What version of MATLAB are you using?
  • Collin (8 days 11 hours 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 (10 days 6 hours ago): FFT-based convolution is circular whereas MATLAB’s conv functions have several options (‘valid’, ‘same’, ‘full’) but unfortunately not...
  • Seth (10 days 9 hours ago): No luck with removing the space.
  • Seth (10 days 11 hours ago): The javascript code works fine running the application from the 2019b desktop version and the 2016b deployed version.
  • Seth (10 days 11 hours 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 11 hours 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 11 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 12 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 12 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 14 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 12 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 12 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...
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