MATLAB: The “know it cold” list

Very often, the MATLAB documentation is enough for anybody with a vague idea of what they want to dig their way to the right concepts/features to solve their problem. Nonetheless, there are few handy tools or quirks that are “either you know it or you don’t”.

Most of the tips in the following list are essential to avoid super-clumsy maneuvers. I’ve seen enough people that developed messy workarounds just because they didn’t know these:

addpath( genpath() ): now you can organize your code by folder and add it in one shot! Preach it!
addpath(…, ‘-end’): gives the new paths lower priority to avoid shadowing existing functions

userpath(‘reset’): fixes it when you see MATLAB starting in “C:\Windows\System32”.

verLessThan(): deal with backward compatibility issues

struct2table(ver()) instead of plain ver(), which gives you a nasty array of structs
struct2table(dir()) instead of plain dir(), which gives you a nasty array of structs

spotting implicit run-length encoding

spotting implicit uses of diff()/cumsum().
diff() is easy to come up with, but we often missed cumsum().