Why/when should I prefer MATLAB over Octave?

In 2008 I tried doing the same thing. I quickly noticed the following show stoppers:

  • Toolboxes are not as complete and not as well tested. Particularly the image processing toolbox that my work relied heavily upon (the big show stopper was that imtransform was not implemented).
  • The Octave debugger and profiler were primitive compared to Matlab's.
  • If you work with others, it may be very difficult to get them to change.
  • If you use third party toolboxes, you are on your own getting them to work.
  • Octave's plots are not publication quality.

But I have to say that I was generally impressed at how compatible Octave is with Matlab, if your use of Matlab is basic, you may get lucky. Finally this was in 2008, in two years things can change a lot.


Just off the top of my head:

  1. There are many toolboxes that Octave does not have, as I discovered when I tried to do homework in a Machine Learning course two semesters ago.
  2. Octave has a much inferior debugger. It was almost impossible to work with.
  3. Matlab is much faster for many types of operations.
  4. Matlab's plots are a lot nicer.
  5. Octave doesn't have a native GUI. There are GUIs for Octave, but they are inferior to Matlab's native one.