Matlab 虽然强大,但是价格不菲。Octave则是一个开源的,兼容大部分Matlab语法的替代品。开源的好处就是,任何人都有修改,提高软件性能的自由。加上Octave-forge的社区,任何人都可以共享自己的程序,也可以从这个巨大的算法库中受益。
Octave : http://www.gnu.org/software/octave/
Octave-forge : http://octave.sourceforge.net/
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.