Why/when should I prefer MATLAB over Octave?

lindelof picture lindelof · Aug 20, 2010 · Viewed 39.8k times · Source

In our shoestring operation we need to prototype algorithms in some higher-level language before committing to a C implementation on embedded hardware.

So far we have been using MATLAB to do that, but the licensing costs are beginning to hurt. We're considering porting our MATLAB code to Octave.

Is there any particular reason not to do that? Will we break any compatibility, especially if we have external partners who insist on using MATLAB? Are there any performance penalties we can expect?

Answer

carlosdc picture carlosdc · Aug 20, 2010

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.