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 internal Java class members

Java inner classes and enumerations can be used in Matlab with a bit of tweaking.

Read More »
August 12, 2015 4 Comments

Static Java classpath hacks

Several hacks that facilitate using the static Java classpath in Matlab are explained.

Read More »
July 29, 2015 7 Comments

Using linkaxes vs. linkprop

linkaxes has a built-in limitation, so using linkprop may sometimes be beneficial.

Read More »
July 22, 2015 8 Comments

Matlab designs by Tim Smith

Tim Smith is responsible for many of Matlab’s new designs

Read More »
July 15, 2015 No Comments

Capturing print events

Matlab print events can be trapped by users to enable easy printout customization.

Read More »
July 8, 2015 3 Comments

JGraph in Matlab figures

JGraph is a powerful open-source Java library that can easily be integrated in Matlab figures.

Read More »
July 1, 2015 8 Comments

Some Matlab performance-tuning tips

Matlab can be made to run much faster using some simple optimization techniques.

Read More »
June 17, 2015 4 Comments

Sliders in Matlab GUI

Professional-looking slider controls can easily be integrated in Matlab GUI.

Read More »
June 10, 2015 59 Comments

Persisting transparent colors in HG2

We can set semi- and fully-transparent colors in HG2 for multiple graphic objects, but making these settings stick is non-trivial.

Read More »
June 3, 2015 2 Comments

Undocumented HG2 graphics events

Matlab’s new HG2 graphics engine includes many new undocumented events that could be used in various ways.

Read More »
May 27, 2015 18 Comments

copyobj behavior change in HG2

the behavior of Matlab’s copyobj function changed in R2014b (HG2), and callbacks are no longer copied.

Read More »
May 13, 2015 No Comments

General-use object copy

Matlab’s dual internal serialization/deserialization functions can be used to create duplicates of any object.

Read More »
May 6, 2015 15 Comments

Auto-completion widget

Matlab includes a variety of undocumented internal controls that can be used for an auto-completion component.

Read More »
April 29, 2015 23 Comments

Undocumented view transformation matrix

Matlab’s view function returns an undocumented output transformation matrix.

Read More »
April 15, 2015 5 Comments

Handle object as default class property value

MCOS property initialization has a documented but unexpected behavior that could cause many bugs in user code.

Read More »
April 8, 2015 18 Comments

Plot legend title

Titles to plot legends are easy to achieve in HG1 (R2014a or earlier), but much more difficult in HG2 (R2014b or newer).

Read More »
April 1, 2015 11 Comments

Using Infiniband with Matlab Parallel Computing Toolbox

Infiniband networking can significantly improve PCT performance in Matlab parallelization and distributed computing.

Read More »
March 26, 2015 2 Comments

Frameless (undecorated) figure windows

Matlab figure windows can be made undecorated (borderless, title-less).

Read More »
March 19, 2015 12 Comments

Transparent legend

Matlab chart legends are opaque be default but can be made semi- or fully transparent.

Read More »
March 11, 2015 No Comments

Customizing Matlab uipanels

Matlab uipanel controls can be customized using Java in ways that are impossible with plain Matlab.

Read More »
February 25, 2015 14 Comments

Simulink Data Dictionary

Simulink contains undocumented public API for access to its data dictionary functionality.

Read More »
February 11, 2015 15 Comments

Accessing hidden HG2 plot functionality

In HG2, some of the plot functionality is hidden in undocumented properties.

Read More »
February 4, 2015 21 Comments

Matlab compiler bug and workaround

Both the Matlab compiler and the publish function have errors when parsing block-comments in Matlab m-code.

Read More »
January 28, 2015 6 Comments

export_fig

The export_fig utility enables publication-quality Matlab plotting output.

Read More »
January 21, 2015 20 Comments

Unorthodox checkbox usage

There are various ways to display interactive split-panes in Matlab GUI. Uiextras flex-panels override a checkbox control’s CData to display a divider.

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