MATLAB Programming/Bonus Chapters/MATLAB Benefits and Caveats
MATLAB Benefits
editEase of Use
editMATLAB is an interpreted and interactive language. Programs can be easily written and modified by a user with MATLAB, which is a built-in integrated development environment and debugger. Also, there are no need to use import functions as MATLAB will use the necessary functions as it includes many built-in math and engineering functions (only if necessary toolboxes are installed)
Platform Independent
editMATLAB language is supported by Windows, Linux and Mac. Thus, a program written on one platform can be easily run on other platforms. This is a platform independence feature.
Wide range of capabilities
editCurrent MATLAB version has a wide range of capabilities, which includes data analysis, statistical analysis, optimization, signal processing, communications, control design, test and measurement, image processing, and computational finance
Full Graphics Capabilities
editMATLAB provides advanced graphics that can help visualize the scientific and engineering data very well. The graphs are highly customizable such: One can change the colors, lines and marker, add annotations, LATEX expressions, legends, the addition of multiple axes etc.
Good Source of Help
editMATLAB is widely used in industry and academia, so there is a wealth of support and resources available. There are many large communities that let you learn MATLAB such as Reddit (46.5k users) , Facebook group (MATLAB Programs/Code (matlabcoding.com). Hence, you might find answers that the people that come before you that might encounter similar problems too.
MATLAB Caveats
editExpensive
editMATLAB is very expensive for the base programs, plus additional official toolboxes from Mathwork are also expensive and costs can ramp up into thousands (Especially for students with limited budgets)
Closed Source
editMATLAB is closed source. Hence, students that are interested on how the algorithm works may stuck due to closed source of the MATLAB functions.
Slow & Inefficient
editIt is slow compared to compiled programming languages. MATLAB is not efficient for nested loops and will not automatically take advantage of parallelism that are introduced in the code and may need to buy Parallel Toolbox .
Awkward Implementations
edit- If you have already coded in fully object-oriented programming (OOP) language, in particular, Python, you will find some oddities in MATLAB’s OOP implementation as MATLAB is more to scripting and not coding as you might with other programming languages. You may feel this when, for example, you are working with cell arrays in MATLAB.
- There are no in-place operators like
+=
. This will leads to lines that are much longer and more harder to read.
Poor Documentations
editThe documentation doesn't always have enough examples therefore you may need look on-line for different examples of using a certain function. For example, the function fibodemo.
Confusing error message
editRun-time errors can be difficult to debug
References
edithttps://web.archive.org/web/20210921113616/https://modelingguru.nasa.gov/docs/DOC-1762