Why We Love to Hate MATLAB But Secretly Need It

3 weeks ago by Sam Holland

Electrical engineers working in diverse industries use software tools to model and test their ideas before implementing them. The system-level design attempts to simulate the behaviour of a system using a high-level programming language.

Prototyping a model on software pre-production proves, beyond doubt, whether or not your design is valid. The output also helps the engineer determine if the model can be optimised. By adjusting one or more variables, potential issues are nipped in the bud—saving unnecessary costs that would have gone into making modifications post-production.

For many engineers, MATLAB is one of those programming languages they only needed for coursework at university, which they have since swiftly abandoned. But time and time again, we are reminded of how relevant it still is.

MATLAB? Not Again!

MATLAB (short for Matrix Laboratory) is one of those not-so-attractive yet inherently practical programming languages many engineers love to hate. Even with rapid proliferation in software, it is remarkable that MATLAB has had such enduring usefulness in the scientific world.

It is a programming language that was written in the 70s by a New Mexico professor for his students to solve linear algebra and matrix problems.

Decades later, we still use it for algorithmic design, graph-plotting, matrix manipulation, and a host of other maths computing operations. The language was originally published by MathWorks and has its own unique programming language, an IDE (Integrated Development Environment) that allows you to simulate and monitor the output of systems in real time, use toolboxes for extra functionality, and other features.

Image courtesy of Bigstock.

Do You Need MATLAB In Your Professional Career?

Depending on the industry you work in, there's a bevy of software tools you will use to solve problems. However, being a widely-embraced programming language in the engineering and science fields, chances are high that you will need to code in MATLAB at some point in your career.

Moreover, several employers specify MATLAB, C++, or Python experience in their job listings for electrical engineers. Therefore, having a solid knowledge of any of these programming languages can put you ahead of the competition. Experienced professionals or engineering managers can also use MATLAB to demonstrate a proof of concept to their teams at the idea stage of a new product since prototyping with MATLAB helps to reduce the time to market (TTM).

Image courtesy of Bigstock.

How Can MATLAB Help Engineers?

Electrical engineers can use MATLAB for system-level computing operations, particularly linear algebra and matrix manipulations. Unlike other high-level programming languages like C# which requires writing long strings of code, MATLAB is more streamlined and concise. A standout point is that with MATLAB experience, you can catch on quickly to similar languages like Python and R.

Basic operations

Electrical/Electronic engineers can use MATLAB for a broad range of computing operations including arithmetic. The language specifically supports two basic types of arithmetic operations—arrays and matrix operations.

Array operations—these follow the same rules as maths operations with the exception of the dot operator. Unlike matrix operations, array operations support multi-dimensional arrays.

Matrix manipulation—the fundamental data element of MATLAB. They are based on linear algebra rules and do not support multi-dimensional arrays. You can use operators such as division and multiplication to manipulate matrices of a prodigious number of rows and columns in a snap.

The Pros

  • A core advantage of MATLAB lies in its multi-functionality. You can pile on functionality applicable to the industry where you work by purchasing licensed toolboxes with specific functions. Some examples include Simulink which can be used to model, simulate, and analyse multi-domain embedded systems and the Wavelet toolbox for image and signal processing.

  • With MATLAB, you can compute high-level mathematical operations in a very short period. MATLAB is an excellent tool for control system analysis, arrays, vector operations, and matrix manipulation, etc.

  • MATLAB has a large swathe of tools for handling data from diverse sources including pictures and signals, etc. with graphical tools you can use to map out data easily. You can also modify the scale, shape, colour, and size, etc. of your graphs using the interactive tools. The IDE has even been used to design missile defence systems.

  • In addition to the help section, something that is tremendously useful to help beginners quickly grab the basics, there is a vast amount of documentation available online. The chances are high that someone else has experienced the same issue you might face while using the software, and found a fix for it. You can find sample code either on the company's official records or by searching on the internet.

Common Reasons Why Engineers Don’t Like Using MATLAB

Apparently, MATLAB is a robust tool that gets the job done. However, some engineers loathe the idea of using it.

Here are a couple of reasons why:

  • MATLAB is neither cheap nor open source. There are two variants of the software—one for commercial use, costing anywhere from $1,000 to a few thousand dollars if you add more toolboxes, and the other for personal use, $200 to $500 depending on the type of license you purchase.
  • MATLAB also takes up a fair amount of memory, often causing noticeable a drag in other applications already running. The software uses a lot of RAM in the background and can be slow to start on low-end computers.

An example of a digital image made with MATLAB's software: it shows a bivariate correlated lognormal distribution. Image courtesy of Bigstock.

Final Thoughts

MATLAB is an immensely useful programming language that engineers can utilise for system-level design—a crucial phase of product development.

The software is rather traditional, but it does its job with absolute reliability and you can add more functionality by purchasing licensed toolboxes. If you are already a pro at MATLAB, you might want to consider using it again.