This is a list of frequently asked questions (FAQ) for Octave users.
Some information in this FAQ was developed for earlier versions of Octave and may now be obsolete.
I'm looking for new questions (with answers), better answers, or both. Please send suggestions to bug-octave@che.utexas.edu. If you have general questions about Octave, or need help for something that is not covered by the FAQ, please use the help-octave@che.utexas.edu mailing list.
This FAQ is intended to supplement, not replace, the Octave manual. Before posting a question to the hlpe-octave mailing list, you should first check to see if the topic is covered in the manual.
Octave is a high-level interactive language, primarily intended for numerical computations that is mostly compatible with MATLAB.(1)
Octave can do arithmetic for real and complex scalars and matrices, solve sets of nonlinear algebraic equations, integrate functions over finite and infinite intervals, and integrate systems of ordinary differential and differential-algebraic equations.
Octave uses the GNU readline library to handle reading and editing input. By default, the line editing commands are similar to the cursor movement commands used by GNU Emacs, and a vi-style line editing interface is also available. At the end of each session, the command history is saved, so that commands entered during previous sessions are not lost.
The Octave distribution includes a 200+ page Texinfo manual. Access to the complete text of the manual is available via the help command at the Octave prompt.
Two and three dimensional plotting is fully supported using gnuplot.
The underlying numerical solvers are currently standard Fortran ones like Lapack, Linpack, Odepack, the Blas, etc., packaged in a library of C++ classes. If possible, the Fortran subroutines are compiled with the system's Fortran compiler, and called directly from the C++ functions. If that's not possible, you can still compile Octave if you have the free Fortran to C translator f2c.
Octave is also free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation.