MATLAB: Do you need toolboxes

programmingtoolboxes

Hi, I was wondering whether toolboxes were required if taking the coding approach to using functions, i.e. within areas such as Optimisation and Machine Learning, or are the specific functions associated with the toolboxes 'locked off' from general use unless the relevant toolbox license is held? I am transitioning from Python and the SciPy stack and so I'm keen to understand where the limits are.

Best Answer

You "shouldn't really" install any toolboxes that you do not have licensed. It does happen, though, such as if you Trial a bunch of toolboxes but end up only licensing some of them. (Also there are some license types in which the licenses expire.)
Most functions in any given toolbox are protected by license checks, and will error if you manage to install and call them without a license.
The toolboxes available from Mathworks are all (as far as I know) software that you could, in theory, write yourself, if you had enough time, and had the relevant expertise. There are also MATLAB- compatible toolboxes available commercially from other companies that might included patented routines; the costs for those would include a license to use the patented technology, which can be important for legal purposes.
Though now that I think of it, it does seem rather implausible that none of the Mathworks toolboxes contain patented technology that Mathworks has licensed use of, so perhaps you could not write it all yourself if you had time and expertise. Software patents are pretty invasive; for example even the idea of using XOR to draw and remove a cursor is patented :( As I recall, Mathworks had a patent fight a few years ago with a company that did work with GPU acceleration, and although the results of that were never made public, the other company involved withdrew their product from market and now no longer exists (what we as outside observers do not know is whether Mathworks paid the company to go away.)
Anyhow. MATLAB is not, by and large, in use as a "foundational technology": it is in use because it is a lot easier and less expensive to buy the expertise and debugged product than to re-develop it.
Related Question