Computer Science and Communication Engineering students must be familiar with a mathematical software called MATLAB. MATLAB is a numerical computing software and programming language that is often used in various mathematical analysis and problem solving like matrix manipulation, plotting of functions and data, implementation of algorithms, creation of user interfaces etc. MATLAB is a proprietary product of The MathWorks and a single student license will set you back by $99. Even though there are many free numerical analysis software available, your university is most likely to use MATLAB and a student who uses MATLAB all day at the university would want the same programs to run on his home computer. Hence compatibility of these free solutions with MATLAB is important.
Let us look at three free alternatives to MATLAB that is compatible with it, to a large extent.
Octave is an open source program for numerical computation which is mostly compatible with MATLAB. Its syntax is very similar to MATLAB, and a carefully programmed script will run on both Octave and MATLAB. Though most MATLAB programs will run on Octave, the reverse is not always true. This is because Octave’s parser goes above and beyond MATLAB’s and supports syntaxes and commands not supported by MATLAB. For example, Octave supports both single and double quote while MATLAB supports only single quote. Octave supports the printf command while MATLAB doesn’t. All compatibility issues are described in there wiki.
Scilab, another numerical computational package, is similar in functionality to MATLAB, but is open source and hence available at no cost. The program enables users to compute a wide range of mathematical operations from relatively simple operations such as multiplication to high level operations such as correlation and complex arithmetic. Like MATLAB, Scilab has many industrial and academic uses and is often used for signal processing, statistical analysis, image enhancement, fluid dynamics simulations etc.
Scilab is not entirely compatible with MATLAB but has a converter for source code conversion from MATLAB to Scilab. Scilab also includes a package called Scicos for modeling and simulation of dynamical systems.
The third open source free numerical computing environment similar to MATLAB is FreeMat. FreeMat supports many MATLAB functions and some IDL functionality and additional features like codeless interface to external C, C++, and Fortran code, further parallel distributed algorithm development and some extended volume and 3D visualization capabilities. FreeMat developers put the software’s compatibility with MATLAB at 95% which is as good as MATLAB itself, provide you don’t use all MATLAB functions, which isn’t likely to happen in most cases.
So there you are, you’ve got three replacement for MATLAB. See if you can convince your institute to embrace any of these.