MATLAB (matrix laboratory) is a numerical computing environment and fourth-generation programming language. Developed by MathWorks, MATLAB allows matrix manipulations, plotting of functions and data, implementation of algorithms, creation of user interfaces, and interfacing with programs written in other languages, including C, C++, Java, and Fortran.
Cleve Moler, the chairman of the computer science department at the University of New Mexico, started developing MATLAB in the late 1970s. He designed it to give his students access to LINPACK and EISPACK without them having to learn Fortran. Jack Little, an engineer recognized its commercial potential and joined with Moler and Steve Bangert. They rewrote MATLAB in C and founded MathWorks in 1984 to continue its development.
Although MATLAB is very popular and is widely used among scientists, researchers and teachers its pricing and licensing is quite expensive even for academic and student use. So, we explore here some free and open source alternatives to MATLAB which are quite compatible with it and provide most of the similar features.
1) GNU Octave
GNU Octave is a high-level interpreted programming language, primarily intended for numerical computations. It is written in C++ and provides a command-line interface for solving linear and non-linear problems numerically, and for performing other numerical experiments using a language that is mostly compatible with MATLAB. It may also be used as a batch-oriented language. As part of the GNU Project, it is free and open source software under the terms of the GNU General Public License.
The project was conceived around 1988. At first it was intended to be a companion to a chemical reactor design course. Real development was started by John W. Eaton in 1992. The first alpha release dates back to January 4, 1993 and on February 17, 1994 version 1.0 was released. In addition to use on desktops for personal scientific computing, Octave is used in academia and industry.
The latest version of GNU Octave is 3.8.1.
Click here to download GNU Octave
2) Sage
Sage is mathematical software with features covering many aspects of mathematics, including algebra, combinatorics, numerical mathematics, number theory, and calculus.
The first version of Sage was released on 24 February 2005 as free and open source software under the terms of the GNU General Public License, with the initial goals of creating an “open source alternative to Magma, Maple, Mathematica, and MATLAB”. The originator and leader of the Sage project, William Stein, is a mathematician at the University of Washington.
Sage uses the Python programming language, supporting procedural, functional and object-oriented constructs. Sage integrates many specialized mathematics software into a common interface, for which a user needs to know only Python. Sage development uses both students and professionals for development. The development of Sage is supported by both volunteer work and grants.
The latest version of Sage is 6.3.
3) Scilab
Scilab is an open source numerical computational package and a high-level, numerically oriented programming language. It can be used for signal processing, statistical analysis, image enhancement, fluid dynamics simulations, numerical optimization, and modeling, simulation of explicit and implicit dynamical systems and symbolic manipulations.
In some ways, Scilab may be the best of the Matlab altsernative. Scilab has many strengths, including excellent documentation and excellent support. Best of all, for Windows users, Scilab is supplied not only as source code but as a Windows binary. As the syntax of Scilab is similar to MATLAB, Scilab includes a source code translator for assisting the conversion of code from MATLAB to Scilab. Scilab also includes a free package called Xcos for modeling and simulation of explicit and implicit dynamical systems, including both continuous and discrete sub-systems. Xcos can be compared to Simulink from the MathWorks.
The latest version of Scilab is 5.5.1.
4) FreeMat
FreeMat is a free and open source numerical computing environment and programming language licensed under GNU GPL, similar to MATLAB and GNU Octave. In addition to supporting many MATLAB functions and some IDL functionality, it features a codeless interface to external C, C++, and Fortran code, further parallel distributed algorithm development, and it has plotting and 3D visualization capabilities.
FreeMat includes features like N-dimensional array manipulation, Built in arithmetic for manipulation of all supported data types, Support for solving linear systems of equations via the divide operators, Support for solving linear systems of equations via the divide operators, 2D plotting and image display, 3D Plotting and visualization via OpenGL and many others. According to its website, it supports roughly 95% of the features in MATLAB.
The latest version of FreeMat is 4.2.
Click here to download FreeMat
http://www.opensourcealternative.org/alternatives/education/open-source-alternative-to-matlab/