octave
Perform numerical computations and simulations
TLDR
Start an interactive session
Execute a specific script file
Execute a script file with specific arguments
Start an interactive session with a GUI
Display help
Display version
SYNOPSIS
octave [OPTIONS] [FILE]
PARAMETERS
-q, --quiet
Suppress the initial Octave banner and copyright message.
-f, --no-init-file
Prevent Octave from executing the user's ~/.octaverc startup file.
--no-history
Do not load or save the command history.
--no-gui
Force Octave to start in the command-line interface (CLI) mode, even if a graphical environment is available.
--gui
Force Octave to start in graphical user interface (GUI) mode.
-p DIR, --path DIR
Add the directory DIR to Octave's function search path.
-B, --batch
Run Octave in batch mode. In this mode, Octave exits after processing input files or evaluating commands.
-x, --exit-on-error
Exit Octave if an error occurs during execution of a script or command.
--eval CODE
Evaluate the Octave code string CODE and then exit.
FILE
A script file to execute. Octave will execute the commands in FILE and then exit (unless --persist is used or in interactive mode).
DESCRIPTION
GNU Octave is a powerful, free, and open-source programming language for numerical computations. It offers a high-level interpreter primarily designed for numerical analysis, scientific computing, and data visualization. Its syntax is largely compatible with MATLAB, making it a popular alternative for engineers, scientists, and students.
Octave supports complex numbers, matrices, and a rich set of built-in functions for linear algebra, Fourier transforms, signal processing, image manipulation, and statistical analysis. It can execute scripts and functions written in its own language, and also supports calling C++, Fortran, and other language code. Users can extend Octave's capabilities through various packages, providing specialized functionalities for different domains. It provides both an interactive command-line interface and a graphical user interface (GUI).
CAVEATS
While highly compatible with MATLAB, some advanced or specialized MATLAB toolboxes might not have direct Octave equivalents or require different syntax.
Performance for very large datasets or extremely complex parallel computations might sometimes differ from highly optimized commercial alternatives.
The graphical user interface (GUI) features might be less mature or feature-rich compared to commercial counterparts, though they are constantly improving.
PACKAGE SYSTEM
Octave features a robust package system, similar to other scripting languages. Users can install and load specialized packages from the Octave Forge repository (e.g., pkg install control, pkg load control) to extend its functionality for specific domains like signal processing, image processing, or symbolic math.
PLOTTING
Octave supports extensive 2D and 3D plotting capabilities, largely compatible with MATLAB's plotting functions. It can use Gnuplot as its default backend, but also supports FLTK and Qt for interactive plots, and OpenGL for advanced 3D graphics.
HISTORY
Development began in 1988 by John W. Eaton. Its first alpha release was in 1993, followed by the first stable release (version 1.0) in February 1994. The project was named after Octave Levenspiel, a professor known for his quick calculations. Octave has since been continually developed and maintained as part of the GNU Project, evolving to include a graphical user interface, enhanced MATLAB compatibility, and a robust package system.