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

Additional license data

Additional meta-data about installed toolboxes can be retrieved in Matlab.

Read More »
February 15, 2017 6 Comments

Parsing XML strings

Matlab’s xmlread function cannot process XML data directly, but this can easily be overcome.

Read More »
February 1, 2017 8 Comments

Quirks with parfor vs. for

Parallelizing loops with Matlab’s parfor might generate unexpected results. Users beware!

Read More »
January 5, 2017 7 Comments

Checking status of warning messages in MEX

Undocumented Mex functions can be used to extract the state of Matlab warnings in run-time.

Read More »
December 21, 2016 No Comments

Password & spinner controls in Matlab GUI

Password fields and spinner controls can easily be embedded in Matlab GUIs.

Read More »
December 14, 2016 4 Comments

Sending email/text messages from Matlab

Sending emails and SMS (text) messages from Matlab is easy, once you know a few quirks.

Read More »
December 7, 2016 6 Comments

Afterthoughts on implicit expansion

The new implicit expansion feature of Matlab R2016b can break user code in unexpected ways.

Read More »
November 30, 2016 12 Comments

Speeding up Matlab-JDBC SQL queries

Fetching SQL ResultSet data from JDBC into Matlab can be made significantly faster.

Read More »
November 16, 2016 6 Comments

Working with non-standard DPI displays

Matlab uses logical (scaled) pixel positions. With high-DPI displays, this might cause problems, but it is easy to retrieve the physical (unscaled) pixel values.

Read More »
November 9, 2016 6 Comments

uigetfile/uiputfile customizations

A file-selector dialog window that includes an integrated preview panel is shown and explained.

Read More »
November 3, 2016 8 Comments

Icon images & text in Matlab uicontrols

HTML can be used to add image icons to Matlab listbox and popup (drop-down) controls.

Read More »
September 28, 2016 6 Comments

Aligning uicontrol contents

Matlab uicontrols can often be customized using plain HTML/CSS, without need for advanced Java.

Read More »
September 22, 2016 8 Comments

Customizing uifigures part 2

Matlab’s new web-based uifigures can be customized using custom CSS and Javascript code.

Read More »
September 7, 2016 2 Comments

Zero-testing performance

Subtle changes in the way that we test for zero/non-zero entries in Matlab can have a significant performance impact.

Read More »
August 31, 2016 5 Comments

AppDesigner's mlapp file format

MLAPP files created by AppDesigner can be inspected and manipulated outside AppDesigner.

Read More »
August 17, 2016 12 Comments

Customizing axes part 5 – origin crossover and labels

The axes rulers (axles) can be made to cross-over at any x,y location within the chart.

Read More »
July 27, 2016 13 Comments

Customizing uifigures part 1

Matlab’s new web-based uifigures can be customized in a variety of undocumented ways.

Read More »
July 21, 2016 20 Comments

Listbox selection hacks

Matlab listbox selection can be customized in a variety of undocumented ways.

Read More »
July 13, 2016 4 Comments

A few parfor tips

The parfor (parallel for) loops can be made faster using a few simple tips.

Read More »
July 6, 2016 6 Comments

Handling red Java console errors

Red Java errors are sometimes displayed in the Matlab console. They can be removed or avoided in a variety of means.

Read More »
June 29, 2016 8 Comments

MEX ctrl-c interrupt

An undocumented MEX function can help interrupt running MEX functions.

Read More »
June 15, 2016 5 Comments

Figure window customizations

Matlab figure windows can be customized in numerous manners using the underlying Java Frame reference.

Read More »
June 1, 2016 No Comments

rmfield performance

The performance of the builtin rmfield function (as with many other builtin functions) can be improved by simple profiling.

Read More »
May 25, 2016 5 Comments

Viewing saved profiling results

We can easily use saved profiling results to analyze, view and compare profiling results of multiple runs.

Read More »
May 18, 2016 No Comments

Transparent labels

Matlab labels can be set to a transparent background as well as padding.

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