3 Open Source Alternatives to MATLAB

Jason BakerFor many students in mathematics, physical sciences, engineering, economics, and other fields with a heavy numeric component, MATLAB is their first introduction to programming or scientific computing in general.

It can be a good tool for learning, although in my experience many of the things that students and researchers alike use MATLAB for are not particularly demanding calculations that easily could be conducted with any number of basic scripting tools, with or without statistical or math-oriented packages. However, it does have a near ubiquity in many academic settings, bringing with it a large community of users familiar with the the language, plugins, and capabilities in general.

But MATLAB is a proprietary tool. Without access to its source code, you are limited in how you can truly understand how it works, and how you can modify it. It is also prohibitively expensive for many people outside of an academic setting, where license fees for a single copy can reach into the thousands of dollars.

Fortunately, there are many great open source alternatives. Depending on exactly what your objective is, you may find one or another to more aptly fit your specific needs. Here are three to consider:

GNU Octave

GNU Octave may be the best-known alternatives to MATLAB. In active development for almost three decades, Octave runs on Windows, Mac, and Linux alike, and is packaged for most major distributions. If you're looking for a project that is as close to the actual MATLAB language as possible, Octave may be a good fit for you; it strives for exact compatibility, so many of your projects developed for MATLAB may run in Octave with no modification necessary.

Octave has many different choices available for a front end interaction outside of the default which ships with newer version; some resemble MATLAB's interface more than others. Octave's Wikipedia page lists several options.

Octave is licensed under the GPL, and its source code can be found on the GNU ftp site.

Scilab

Scilab is another open source option for numerical computing which runs across all of the major platforms: Windows, Mac, and Linux included. Scilab perhaps the best known alternative outside of Octave, and like Octave, it is very similar to MATLAB in its implementation, although exact compatibility is not a goal of the project's developers.

Scilab is distributed as open source under the CeCILL license, a GPL-compatible license, and its source code is available on the project website.

Sage

SageMath is another open source mathematics software system which might be a good option for those seeking a MATLAB alternative. Built on top of a variety of well-know Python-based scientific computing libraries, and its own language is syntactically similar to Python. It has many features, including a command-line interface, browser-based notebooks, tools for embedding formulas in other documents, and of course, many mathematical libraries.

SageMath is available under a GPL license, and its source code can be found on the project website.

This list only scratches the surface of tools that researchers and students alike may choose to use as open source alternatives to MATLAB. There are plenty of others like Genius Mathematic Tool and FreeMat, and of course R, Julia, Python, and other standard programming languages might be a good fit for you, depending on your exact needs. Some other open source tools you may want to consider include:

  • FreeMat, a GPL-licensed environment for rapid engineering, scientific prototyping, and data processing. It's available for Linux, OS X, and Windows, though it may be dated as the latest version was released in 2013.
  • Genius Mathematic Tool, an actively developed calculator program and research tool. It is written in Genius Extension Language for Linux and Unix computers and is available under the GPL GNU license.
  • Maxima, another frequently updated alternative to MATLAB. It's based on Macsyma, a "legendary computer algebra system" developed at MIT in the 1960s, can be compiled on Linux, Mac OS X, and Windows, and is available under GPLv2.
  • NymPy, the main package for scientific computing with Python (as its name suggests). It's also the fundamental data-array structure for the SciPy Stack, an ecosystem of Python-based math, science, and engineering software. NymPy is licensed under the BSD license, and packages are available for Windows, Mac OS X, and Linux.
  • SymPy, another BSD-licensed Python library for symbolic mathematics. It can be installed on any computer running Python 2.7 or above. It aims to become a full computer algebra system; has an active development community with regular releases; and is used in many other projects (including SageMath, above).
3 open source alternatives to MATLAB was authored by Jason Baker and published in Opensource.com. It is being republished by Open Health News under the terms of the Creative Commons Attribution-ShareAlike 4.0 International License (CC BY-SA 4.0). The original copy of the article can be found here.