We all come to that point in our lives when we wish the Calculator app in our favorite operating system had just a little more functionality. Those of weaker resolve turn to surrogates such as Excel, but true believers know that the only tool that befits a mathematician (or just somebody that wants to plot some three-dimensional graphs) is a proper computer algebra system (CAS).
The fields of CAS are full of different tools, from those with aesthetically pleasing front-ends to those whose terseness and Spartan presentation rival that of Notepad. MATLAB is one such tool, serving the more coding-oriented crowds who see mathematics as an extension of the programming discipline. MATLAB stands for MATrix LABoratory, its name being a hint for what it’s good at.
For those of you with less experience in these matters, a CAS is essentially very similar to a typical programming language/IDE combination, the difference being that it is oriented towards computation, optimization, and other advanced mathematical things that a programming language often cannot provide. As a result, a CAS typically uses an interpreted, rather than compiled, language. It also brings a wealth of library functions for various problem domains (mathematics, statistics, econometrics, and so on) as well as tools to render graphs, for example.
MATLAB happens to be a highly modular system. What this means is that instead of just getting one application, you get the core MATLAB installation and then purchase one or more toolboxes depending on what your needs are. These toolboxes, broadly speaking, fall into three categories:
- Scientific toolboxes related to mathematics, statistics, and optimization. These might include, for example, the Symbolic Math Toolbox that supports things such as symbolic differentiation, or the Statistics Toolbox that gives you—you guessed it—various statistical functions and tools.
- Toolboxes related to specific problem domains or industries, such as Aerospace, Econometrics, or Image Processing Toolbox.
- Toolboxes related specifically to computation (i.e. the ways in which calculations are performed), such as the Parallel Computing Toolbox or MATLAB Coder.
- SIMULINK, a graphical programming language used for modeling and simulation. SIMULINK is tightly integrated with MATLAB.