Skip to content
murphyk2 edited this page Mar 3, 2010 · 30 revisions

This page discusses issues related to Matlab vs Octave in the context of PMTK3.

  • Compatability of Octave and Matlab*
Below we discuss some issues that have come up while developing PMTK3. More general compatibility information can be found here.
  * Octave's legend function has a different interface than Matlab's. 
  * Octave sets random seeds differently than Matlab, hence random data is not consistent. 
  * Octave does not yet support Matlab's Object Oriented System and has only limited support for the old style OO system, (e.g. no operator overloading support). This should  have no impact on PMTK3, which no longer uses objects. 
  * Due to the previous point, graphViz4Matlab will not currently run in Octave. This is not required by PMTK3, but is useful.
  * The Lightspeed 'rows' function aliases built in Octave 'rows' function. Lightspeed was removed from PMTK3.
  • Running Octave from within Matlab*
Octave can be launched within the Matlab command window, (useful for development purposes) by using the following code. Add these lines to a Matlab shortcut for single button access.

Type to return to Matlab.

Code in the Matlab editor can be executed in Octave, (while its running) by highlighting it and pressing the key.

  • General discussion on Matlab vs Octave*
In general, the advantages of Matlab over Octave are that


The advantage of Octave is that it is free.

What we usually do is develop code locally in Matlab (using a local site license), exploiting the nice IDE and graphics. But for large compute jobs, which we run on clusters (such as Amazon's EC2), we use Octave, so we don't have to worry about licensing issues.

Clone this wiki locally