This Blog is the fruit of passion.
In over 20 years of programming in a multitude of different programming languages and environments, I have found Matlab to be second to none in the depth, width and extent of its hidden niches. When I first discovered a few such functions and properties it merely seemed like a nice way to get the job done. Over time I discovered that many other Matlab programmers have similar problems which could be solved by these hidden programming components. At some point in time I started to like the challenge of actively seeking and experimenting with these hidden gems. In many cases it became a detective/deductive challenge which I found out to be most rewarding.
When I published some of my findings in the Matlab forum CSSM (comp.soft-sys.matlab newsgroup, available for example on Google Groups, I found out that quite a few others share my enthusiasm.
After several years of sporadic research in between “real” programming and managerial work, this collected knowledge is finally seeing light in this blog, which is dedicated to the hidden, unsupported and undocumented parts of Matlab.
During these past few years, Matlab has not kept still. The MathWorks (TMW), the company which manufactures the Matlab product, has started releasing product updates twice annually, on March and Septembers. Each of these versions deleted or modified some hidden elements, and added a few more. It has been a real challenge to keep up with this rate of change, but I’m pretty certain that quite a few hidden niches escaped my notice due to this. Also, since this blog is based on personal research and a very limited amount of publicly-available information, I’m certain that many more hidden niches are available which I will fail to describe.
I therefore welcome your feedback, suggestions, and questions. Please either leave a reply within the blog, or email me directly.
Strong Disclaimer and Warning
Don’t use any undocumented feature or function unless you’re fully aware of the possible consequences: such features are generally unsupported by TMW; may break in future Matlab versions without prior notice; may behave differently on different platforms or systems; may have undiscovered undesirable side-effects and may even cause Matlab to crash or hang (become unresponsive).
Some cases in point:
- dir started returning non-sorted results in R12 and changed the behavior of ‘*’ in R2010a
- uigetfile and uiputfile stopped accepting ‘|’ (vs. ‘;’) in filter strings
I invest a lot of effort into ensuring correctness and accuracy of the presented information. However, due to its very nature, I cannot guaranty that it is complete or error-free (I welcome reader feedback in cases where I am wrong or misleading). I cannot take any responsibility of possible consequences using this info. When using my suggestions, sample code or ideas, readers must therefore take extreme care and understand that they either use them at their own risk, or not at all.
That being said, then as Michelle Hirsch (Matlab Product Management lead) suggested, let’s start having fun poking around!.
altmany at gmail dot com