MATLAB is a very nice computation and data analysis tool. Many engineering and science research I have come across use MATLAB. Octave is another computation and data analysis tool that is mostly compatible with MATLAB. It is also Free/Open Source Software.
Much like OpenOffice.org vs Microsoft Office; and GIMP vs Adobe Photoshop, comparisons will be made between the proprietary software and their similar Free/Open Source Software counterparts. Here are my impressions from about two weeks worth of fiddling around.
- Mostly compatible is probably the best way to say it. Format and syntax is (almost) the same between the two. Functions and parameters to the functions are (almost) the same. M-code that runs in MATLAB (mostly) runs in Octave and vice-versa.
- Graphs looks better in MATLAB than in Octave. Some things are not implemented (yet) in Octave like shading interp and dotted lines. I think Octave uses Gnuplot for plotting, but I have to read the documentation to be sure.
- No MATLAB compatible GUI in Octave. This can be a deal-breaker for some.
- Command-line interface for Octave. Again, this can be a deal-breaker for some. I am used to the command-line so this doesn't bother me much. There is a Qt GUI for Octave, called QtOctave available in the Fedora repositories.
I'll probably end up using MATLAB since their visualization tools look better, and they have GUI functions. However, I will try to separate the visualization code and the computation and analysis code so I can still run the analysis in Octave.