Octave (the open source Matlab clone)

For those of you who use Matlab, and would like an open-source (ie free) alternative, Octave isn’t bad. However, it’s a learning curve. Most of the features work just fine - eg plot(sin(0:0.1:3.141)); works just as expected. However, I wanted to change the ticks on a graph I was doing

In Matlab, you’d do something like:
set(RightAxesHandle(2),’YTick’,[10 30 40],’YTickLabel’, [’a'; ‘b’; ‘c’])

But it doesn’t work in Octave. There, you have to do:
gset xtics(”a” 10, “b” 30, “c” 40)

The other thing that you might need to do is to enable the mouse for panning / rotating 3D graphs. To do this, use “gset mouse”. Finally, if you want options like that to be preserved, then put them in ~/.octaverc

Responses are currently closed, but you can trackback from your own site.

2 Responses to “Octave (the open source Matlab clone)”

  1. Bill Says:

    Another alternative that people might want to try as it works quite nicely in Windows is Scilab. A comparison between Matlab Clones can be found at dspguru.com.

    Scilab

    n some ways, Scilab may be the “best” of the Matlab clones. Scilab has many strengths, including excellent documentation (the signal processing manual is an education in itself!) and excellent support (via e-mail and its own newsgroup). Best of all, for Windows users, Scilab is supplied not only as source code, but as a Windows binary. Scilab is mostly–but not completely–compatible with Matlab. (Scilab now comes with a Matlab-to-Scilab translator, but that’s still a bit immature.)

    Octave

    Like Scilab, Octave is another mature, high-quality Matlab clone. If you use a Unix-like operating system, Octave may be a better choice than Scilab because it reportedly offers better compatibility with Matlab. (However, for Windows users, Octave suffers the comparitive disadvantage that the binary distribution of it is quite complicated to install.)

  2. Rob Says:

    I later had problems with gset. You use gset to tell Octave how to communicate with the plotting engine. I wanted to plot my graphs to file, but with a dynamic filename. So,

    gset terminal png; % set the output file format

    works fine. However:

    gset output ["graph-" num2str(i) ".png"];

    doesn’t work. Instead, you need to do:

    eval(sprintf('gset output "graph-%03d.png"',i))