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

getundoc – get undocumented object properties

September 21, 2011 8 Comments

Last week, I presented the list of undocumented properties available in Matlab’s cursor mode and data-tip objects. Over the past two years, I had posted quite a few other articles on this website that used such undocumented properties. So today I will show exactly how such properties can be discovered.
Hidden properties are object properties that for some reason or other MathWorks has decided not to expose to the general public. They can still be used by Matlab users, just like any other regular property. But if you use the built-in get and set functions to list the object’s properties, you will not find the hidden properties listed. You need to know the hidden properties’ exact name in order to use them. Which is where today’s post can help, by showing you how to list these hidden properties. I wrote about this a couple of years ago, and today’s article will expand on that original post.
Hidden properties are by their very nature undocumented and not officially supported. For this reason, you should take extra care when relying on them in your code. They could change functionality or even be removed without prior notice in any future Matlab release. Still, some of these properties enable very important functionality, as I have often shown on this website.

HideUndocumented

There are two distinct manners by which undocumented properties can be seen in Matlab. The simplest was reported by Hans Olsson all the way back in 1997, in one of the very earliest posts on the CSSM newsgroup (there is no earlier public report, as far as I could tell). Since then, this method was mentioned in about a dozen other CSSM posts.
By setting the Matlab root (handle 0)’s HideUndocumented property to ‘off’ (default=’on’), subsequent calls to the built-in get and set functions list the hidden properties in addition to the regular ones. Note that HideUndocumented is itself a hidden property, which is why Hans’ post is so important – he presented us with the loose end that then enabled us to untangle the hidden properties in any other HG object.
Here is a simple example, showing HideUndocumented‘s effect on the root (handle 0) object handle itself (hidden properties are highlighted):

% Display only regular properties
>> get(0)
	CallbackObject = []
	CommandWindowSize = [86 51]
	CurrentFigure = []
	Diary = off
	DiaryFile = diary
	Echo = off
	FixedWidthFontName = Courier New
	Format = longG
	FormatSpacing = compact
	Language = he_il
	MonitorPositions = [ (2 by 4) double array]
	More = off
	PointerLocation = [1084 590]
	RecursionLimit = [500]
	ScreenDepth = [32]
	ScreenPixelsPerInch = [96]
	ScreenSize = [1 1 1440 900]
	ShowHiddenHandles = off
	Units = pixels
	BeingDeleted = off
	ButtonDownFcn =
	Children = []
	Clipping = on
	CreateFcn =
	DeleteFcn =
	BusyAction = queue
	HandleVisibility = on
	HitTest = on
	Interruptible = on
	Parent = []
	Selected = off
	SelectionHighlight = on
	Tag =
	Type = root
	UIContextMenu = []
	UserData = []
	Visible = on
% Display ALL properties (including hidden ones, which are highlighted below)
>> set(0,'HideUndocumented','off')
>> get(0)
	BlackAndWhite = off
	CallbackObject = []
	CommandWindowSize = [86 51]	CurrentFigure = []
	Diary = off
	DiaryFile = diary
	Echo = off
	ErrorMessage = [ (1 by 79) char array]
	FixedWidthFontName = Courier New
	Format = longG	FormatSpacing = compact
	HideUndocumented = off
	Language = he_il
	MonitorPositions = [ (2 by 4) double array]	More = off
	PointerLocation = [1022 82]
	PointerWindow = [0]
	RecursionLimit = [500]
	ScreenDepth = [32]	ScreenPixelsPerInch = [96]
	ScreenSize = [1 1 1440 900]
	ShowHiddenHandles = off
	Units = pixels
	AutomaticFileUpdates = on
	BeingDeleted = off
	PixelBounds = [0 0 0 0]	ButtonDownFcn =
	Children = []
	Clipping = on	CreateFcn =
	DeleteFcn =
	BusyAction = queue
	HandleVisibility = on
	HelpTopicKey =
	HitTest = on
	Interruptible = on
	Parent = []	Selected = off
	SelectionHighlight = on
	Serializable = on
	Tag =
	Type = root
	UIContextMenu = []	UserData = []
	ApplicationData = [ (1 by 1) struct array]
	Behavior = [ (1 by 1) struct array]
	Visible = on
	XLimInclude = on	YLimInclude = on	ZLimInclude = on
	CLimInclude = on	ALimInclude = on	IncludeRenderer = on

% Display only regular properties >> get(0) CallbackObject = [] CommandWindowSize = [86 51] CurrentFigure = [] Diary = off DiaryFile = diary Echo = off FixedWidthFontName = Courier New Format = longG FormatSpacing = compact Language = he_il MonitorPositions = [ (2 by 4) double array] More = off PointerLocation = [1084 590] RecursionLimit = [500] ScreenDepth = [32] ScreenPixelsPerInch = [96] ScreenSize = [1 1 1440 900] ShowHiddenHandles = off Units = pixels BeingDeleted = off ButtonDownFcn = Children = [] Clipping = on CreateFcn = DeleteFcn = BusyAction = queue HandleVisibility = on HitTest = on Interruptible = on Parent = [] Selected = off SelectionHighlight = on Tag = Type = root UIContextMenu = [] UserData = [] Visible = on % Display ALL properties (including hidden ones, which are highlighted below) >> set(0,'HideUndocumented','off') >> get(0) BlackAndWhite = off CallbackObject = [] CommandWindowSize = [86 51] CurrentFigure = [] Diary = off DiaryFile = diary Echo = off ErrorMessage = [ (1 by 79) char array] FixedWidthFontName = Courier New Format = longG FormatSpacing = compact HideUndocumented = off Language = he_il MonitorPositions = [ (2 by 4) double array] More = off PointerLocation = [1022 82] PointerWindow = [0] RecursionLimit = [500] ScreenDepth = [32] ScreenPixelsPerInch = [96] ScreenSize = [1 1 1440 900] ShowHiddenHandles = off Units = pixels AutomaticFileUpdates = on BeingDeleted = off PixelBounds = [0 0 0 0] ButtonDownFcn = Children = [] Clipping = on CreateFcn = DeleteFcn = BusyAction = queue HandleVisibility = on HelpTopicKey = HitTest = on Interruptible = on Parent = [] Selected = off SelectionHighlight = on Serializable = on Tag = Type = root UIContextMenu = [] UserData = [] ApplicationData = [ (1 by 1) struct array] Behavior = [ (1 by 1) struct array] Visible = on XLimInclude = on YLimInclude = on ZLimInclude = on CLimInclude = on ALimInclude = on IncludeRenderer = on

Property definitions

An entirely different mechanism uses the schema.prop definitions that were presented here by Donn Scull at the beginning of 2011. The idea is to get the object’s classhandle reference, from it to get the list of properties definitions, and for each property look at its Visible meta-property: hidden properties will simply have Visible=’off’, whereas regular properties will have ‘on’.
It turns out that there is not always a full correspondence between these two mechanism. I can’t remember specific examples, and perhaps these were fixed in the latest Matlab releases. It doesn’t matter, because merging the list of hidden properties reported by these two methods is always safe to do. Which is exactly what my getundoc utility does:

getundoc utility

The getundoc utility is based on another utility by the same name, posted by Duane Hanselman to the Matlab File Exchange in 2006 (Duane has elected to remove all his submissions from FEX a year or two ago, but that’s an entirely separate [and extremely heated] topic for a different discussion). Duane’s original getundoc utility relied only on the first (HideUndocumented) mechanism.
I have since expanded this utility to include support for the second mechanism, as well as support for the upcoming HG2 (see below). The updated getundoc is now available for download on the File Exchange. Since it’s a very short utility, I will digress from my norm and simply present its code, in its present form, here:

function c = getundoc(arg)
%GETUNDOC Get Undocumented Object Properties.
% GETUNDOC('OBJECT') or GETUNDOC(H) returns a structure of
% undocumented properties (names & values) for the object having handle
% H or indentified by the string 'OBJECT'.
%
% For example, GETUNDOC('axes') or GETUNDOC(gca) returns undocumented
% property names and values for the axes object.
% Extension of Duane Hanselman's original utility (which is no longer
% available on the File Exchange):
% D.C. Hanselman, University of Maine, Orono, ME 04469
% MasteringMatlab@yahoo.com
% Mastering MATLAB 7
% 2006-01-06
if nargin~=1
   error('One Input Required.')
end
if ischar(arg) % GETUNDOC('OBJECT')
   switch lower(arg)
   case 'root'                                                       % root
      h=0;
      hf=0;
   case 'figure'                                                   % figure
      h=figure('Visible','off');
      hf=h;
   otherwise                          % some other string name of an object
      hf=figure('Visible','off');
      object=str2func(arg);
      try
         h=object('Parent',hf,'Visible','off');
      catch
         error('Unknown Object Type String Provided.')
      end
   end
elseif ishandle(arg) % GETUNDOC(H)
   h=arg;
   hf=0;
else
   error('Unknown Object Handle Provided.')
end
wstate=warning;
warning off                                      % supress warnings about obsolete properties
try set(0,'HideUndocumented','off'); catch; end  % Fails in HG2
undocfnames=fieldnames(get(h));                  % get props including undocumented
try set(0,'HideUndocumented','on'); catch; end   % Fails in HG2
docfnames=fieldnames(get(h));                    % get props excluding undocumented
% Yair 18/3/2010 - add a few more undocs:
try
    % This works in HG1
    props = get(classhandle(handle(h)),'properties');
    undocfnames = [undocfnames; get(props(strcmp(get(props,'Visible'),'off')),'Name')];
catch
    % Yair 18/9/2011: In HG2, the above fails, so use the following workaround:
    try
        prop = findprop(handle(h),undocfnames{1});
        props = prop.DefiningClass.PropertyList;
        undocfnames = [undocfnames; {props.Name}'];   % {props([props.Hidden]).Name}
    catch
        % ignore...
    end
end
c = setdiff(undocfnames,docfnames);      % extract undocumented
% Get the values in struct format, if relevant
if ~isempty(c)
  s = struct;
  for fieldIdx = 1 : length(c)
      try
          fieldName = c{fieldIdx};
          s.(fieldName) = get(h,fieldName);
      catch
          s.(fieldName) = '???';
      end
  end
  c = s;
end
% Yair end
if hf~=0                     % delete hidden figure holding selected object
   delete(hf)
end
warning(wstate)

function c = getundoc(arg) %GETUNDOC Get Undocumented Object Properties. % GETUNDOC('OBJECT') or GETUNDOC(H) returns a structure of % undocumented properties (names & values) for the object having handle % H or indentified by the string 'OBJECT'. % % For example, GETUNDOC('axes') or GETUNDOC(gca) returns undocumented % property names and values for the axes object. % Extension of Duane Hanselman's original utility (which is no longer % available on the File Exchange): % D.C. Hanselman, University of Maine, Orono, ME 04469 % MasteringMatlab@yahoo.com % Mastering MATLAB 7 % 2006-01-06 if nargin~=1 error('One Input Required.') end if ischar(arg) % GETUNDOC('OBJECT') switch lower(arg) case 'root' % root h=0; hf=0; case 'figure' % figure h=figure('Visible','off'); hf=h; otherwise % some other string name of an object hf=figure('Visible','off'); object=str2func(arg); try h=object('Parent',hf,'Visible','off'); catch error('Unknown Object Type String Provided.') end end elseif ishandle(arg) % GETUNDOC(H) h=arg; hf=0; else error('Unknown Object Handle Provided.') end wstate=warning; warning off % supress warnings about obsolete properties try set(0,'HideUndocumented','off'); catch; end % Fails in HG2 undocfnames=fieldnames(get(h)); % get props including undocumented try set(0,'HideUndocumented','on'); catch; end % Fails in HG2 docfnames=fieldnames(get(h)); % get props excluding undocumented % Yair 18/3/2010 - add a few more undocs: try % This works in HG1 props = get(classhandle(handle(h)),'properties'); undocfnames = [undocfnames; get(props(strcmp(get(props,'Visible'),'off')),'Name')]; catch % Yair 18/9/2011: In HG2, the above fails, so use the following workaround: try prop = findprop(handle(h),undocfnames{1}); props = prop.DefiningClass.PropertyList; undocfnames = [undocfnames; {props.Name}']; % {props([props.Hidden]).Name} catch % ignore... end end c = setdiff(undocfnames,docfnames); % extract undocumented % Get the values in struct format, if relevant if ~isempty(c) s = struct; for fieldIdx = 1 : length(c) try fieldName = c{fieldIdx}; s.(fieldName) = get(h,fieldName); catch s.(fieldName) = '???'; end end c = s; end % Yair end if hf~=0 % delete hidden figure holding selected object delete(hf) end warning(wstate)

Usage of this utility is extremely simple:

>> getundoc(0)
ans =
             ALimInclude: 'on'
         ApplicationData: [1x1 struct]
    AutomaticFileUpdates: 'on'
                Behavior: [1x1 struct]
           BlackAndWhite: 'off'
             CLimInclude: 'on'
            ErrorMessage: [1x79 char]
            HelpTopicKey: ''
        HideUndocumented: 'on'
         IncludeRenderer: 'on'
             PixelBounds: [0 0 0 0]
           PointerWindow: 0
            Serializable: 'on'
             XLimInclude: 'on'
             YLimInclude: 'on'
             ZLimInclude: 'on'
>> getundoc(gcf)
ans =
               ALimInclude: 'on'
    ActivePositionProperty: 'position'
           ApplicationData: [1x1 struct]
              BackingStore: 'on'
                  Behavior: [1x1 struct]
               CLimInclude: 'on'
                CurrentKey: ''
           CurrentModifier: {1x0 cell}
                 Dithermap: [64x3 double]
             DithermapMode: 'manual'
              DoubleBuffer: 'on'
            ExportTemplate: []
               FixedColors: [3x3 double]
                   HelpFcn: ''
              HelpTopicKey: ''
              HelpTopicMap: ''
           IncludeRenderer: 'on'
                 JavaFrame: [1x1 com.mathworks.hg.peer.HG1FigurePeer]
               MinColormap: 64
             OuterPosition: [436 374 568 502]
               PixelBounds: [0 0 560 420]
             PrintTemplate: []
              Serializable: 'on'
                    UseHG2: 'off'
                WaitStatus: []
               XLimInclude: 'on'
               YLimInclude: 'on'
               ZLimInclude: 'on'

>> getundoc(0) ans = ALimInclude: 'on' ApplicationData: [1x1 struct] AutomaticFileUpdates: 'on' Behavior: [1x1 struct] BlackAndWhite: 'off' CLimInclude: 'on' ErrorMessage: [1x79 char] HelpTopicKey: '' HideUndocumented: 'on' IncludeRenderer: 'on' PixelBounds: [0 0 0 0] PointerWindow: 0 Serializable: 'on' XLimInclude: 'on' YLimInclude: 'on' ZLimInclude: 'on' >> getundoc(gcf) ans = ALimInclude: 'on' ActivePositionProperty: 'position' ApplicationData: [1x1 struct] BackingStore: 'on' Behavior: [1x1 struct] CLimInclude: 'on' CurrentKey: '' CurrentModifier: {1x0 cell} Dithermap: [64x3 double] DithermapMode: 'manual' DoubleBuffer: 'on' ExportTemplate: [] FixedColors: [3x3 double] HelpFcn: '' HelpTopicKey: '' HelpTopicMap: '' IncludeRenderer: 'on' JavaFrame: [1x1 com.mathworks.hg.peer.HG1FigurePeer] MinColormap: 64 OuterPosition: [436 374 568 502] PixelBounds: [0 0 560 420] PrintTemplate: [] Serializable: 'on' UseHG2: 'off' WaitStatus: [] XLimInclude: 'on' YLimInclude: 'on' ZLimInclude: 'on'

Fixes for HG2

Unfortunately, in the new HG2 (which is still not in production, but we must be prepared, mustn’t we?), the original mechanism above (HideUndocumented) fails completely (there is no such property in the new matlab.ui.root object), whereas the second mechanism (UDD property defs) needs to be modified: Apparently, classhandle fails for HG2 object handles. Instead, we use the workaround of using findprop to get the property definition for any regular property, then get its parent (the requested class definition), and then down again to list all available properties. Note that in HG2, the relevant meta-property is Hidden which holds logical (true/false) values, as opposed to Visible and ‘off’/’on’ values for HG1 above.
All of these fixes are now incorporated in the getundoc code that is listed above.
When comparing the list of hidden properties in the existing HG1 and the new HG2, we see many interesting differences. And yes: the figure’s JavaFrame property was indeed removed in HG2. Bummer! (don’t worry – there are several workarounds up my sleeve…)
Do you have any favorite hidden property that you use in your code? If so, please tell us about it in a comment below.
p.s. – For all the numerous good people telling me about cprintf – Yes: I am aware that the latest R2011b release has broken cprintf‘s functionality. I plan to release a workaround sometime soon, when I have some spare time. I’ll keep everybody posted of course. Please be patient. (if you can’t wait, you can always hire me to fix it sooner; otherwise I need to give priority to my paying clients…)

Related posts:

  1. Displaying hidden handle properties – I present two ways of checking undocumented hidden properties in Matlab Handle Graphics (HG) handles...
  2. Undocumented cursorbar object – Matlab's internal undocumented graphics.cursorbar object can be used to present dynamic data-tip cross-hairs...
  3. Accessing private object properties – Private properties of Matlab class objects can be accessed (read and write) using some undocumented techniques. ...
  4. UDD Properties – UDD provides a very convenient way to add customizable properties to existing Matlab object handles...
  5. Plot LimInclude properties – The plot objects' XLimInclude, YLimInclude, ZLimInclude, ALimInclude and CLimInclude properties are an important feature, that has both functional and performance implications....
  6. Customizing axes part 4 – additional properties – Matlab HG2 axes can be customized in many different ways. This article explains some of the undocumented aspects. ...
Handle graphics HG2 Hidden property Pure Matlab schema.prop Undocumented property
Print Print
« Previous
Next »
8 Responses
  1. Patrik October 3, 2011 at 21:46 Reply

    Thank for this entry, it really opens up a new world to explore.

    But what about functions? Is it possible to extract properties from functions too?
    If, for example, there is a function fcnx.m containing a local function fcnxx – is it somehow possible to access this local function from the matlab base workspace?

    • Yair Altman October 4, 2011 at 00:44 Reply

      @Patrik – if you have local function fcnxx inside the fcnx.m file, then you can access fcnxx via ‘fcnx>fcnxx’ in some cases, but not in general. For example:

      dbstop 'fcnx>fcnxx'

      dbstop 'fcnx>fcnxx'

      Unfortunately this does not work with str2func, eval and other functions.

  2. Types of undocumented Matlab aspects | Undocumented Matlab November 24, 2011 at 11:02 Reply

    […] Like undocumented features, they can only be inferred from CSSM or existing code. In a recent article I described my getundoc utility, which lists these undocumented properties […]

  3. Pinning annotations to graphs | Undocumented Matlab December 12, 2012 at 12:46 Reply

    […] more undocumented properties than documented ones. You can see this list using my uiinspect or getundoc utilities. Here is the list for a simple text-arrow annotation, such as the one that we used […]

  4. uiinspect | Undocumented Matlab January 23, 2013 at 11:01 Reply

    […] displays hidden properties and fields that are not normally displayed in Matlab (see my related getundoc utility) […]

  5. Getting default HG property values | Undocumented Matlab February 13, 2013 at 11:01 Reply

    […] in R2012a, Matlab figure handles have 62 documented and 28 undocumented properties, all of which have some default value […]

  6. Handle Graphics Behavior | Undocumented Matlab March 6, 2013 at 11:01 Reply

    […] Today I discuss HG’s Behavior property, which is a standard undocumented hidden property of all HG objects […]

  7. HG2 update | Undocumented Matlab May 17, 2013 at 00:14 Reply

    […] are hidden/undocumented (why the hell for???), so we need a utility such as my uiinspect or getundoc to detect them. Some of the useful new axes properties include *Ruler, *Baseline, *GridHandle, […]

Leave a Reply
HTML tags such as <b> or <i> are accepted.
Wrap code fragments inside <pre lang="matlab"> tags, like this:
<pre lang="matlab">
a = magic(3);
disp(sum(a))
</pre>
I reserve the right to edit/delete comments (read the site policies).
Not all comments will be answered. You can always email me (altmany at gmail) for private consulting.

Click here to cancel reply.

Useful links
  •  Email Yair Altman
  •  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 (3 days 22 hours ago): Hi Yair, Thanks for the reply. I am on Windows 10. I also forgot to mention that this all works wonderfully out of the editor. It only fails once compiled. So, yes, I have tried a...
  • Nicholas (3 days 22 hours ago): Hi Yair, Thanks for the reply. I am on Windows 10. I also forgot to mention that this all works wonderfully out of the editor. It only fails once compiled. So, yes, I have tried a...
  • Yair Altman (4 days 5 hours ago): Nicholas – yes, I used it in a compiled Windows app using R2022b (no update). You didn’t specify the Matlab code location that threw the error so I can’t help...
  • Nicholas (5 days 1 hour ago): Hi Yair, Have you attempted your displayWebPage utility (or the LightweightHelpPanel in general) within a compiled application? It appears to fail in apps derived from both R2022b...
  • João Neves (8 days 6 hours ago): I am on matlab 2021a, this still works: url = struct(struct(struct(struct(hF ig).Controller).PlatformHost). CEF).URL; but the html document is empty. Is there still a way to do...
  • Yair Altman (11 days 5 hours ago): Perhaps the class() function could assist you. Or maybe just wrap different access methods in a try-catch so that if one method fails you could access the data using another...
  • Jeroen Boschma (11 days 7 hours ago): Never mind, the new UI components have an HTML panel available. Works for me…
  • Alexandre (11 days 8 hours ago): Hi, Is there a way to test if data dictionnatry entry are signal, simulink parameters, variables … I need to access their value, but the access method depends on the data...
  • Nicholas (11 days 22 hours ago): In case anyone is looking for more info on the toolbar: I ran into some problems creating a toolbar with the lightweight panel. Previously, the Browser Panel had an addToolbar...
  • Jeroen Boschma (15 days 5 hours ago): I do not seem to get the scrollbars (horizontal…) working in Matlab 2020b. Snippets of init-code (all based on Yair’s snippets on this site) handles.text_explorer...
  • Yair Altman (43 days 8 hours ago): m_map is a mapping tool, not even created by MathWorks and not part of the basic Matlab system. I have no idea why you think that the customizations to the builtin bar function...
  • chengji chen (43 days 14 hours ago): Hi, I have tried the method, but it didn’t work. I plot figure by m_map toolbox, the xticklabel will add to the yticklabel at the left-down corner, so I want to move down...
  • Yair Altman (51 days 7 hours ago): @Alexander – this is correct. Matlab stopped including sqlite4java in R2021b (it was still included in 21a). You can download the open-source sqlite4java project from...
  • Alexander Eder (57 days 3 hours ago): Unfortunately Matlab stopped shipping sqlite4java starting with R2021(b?)
  • K (63 days 13 hours ago): Is there a way to programmatically manage which figure gets placed where? Let’s say I have 5 figures docked, and I split it into 2 x 1, I want to place 3 specific figures on the...
Contact us
Captcha image for Custom Contact Forms plugin. You must type the numbers shown in the image
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