GNU Octave Wiki
GNU Octave is a high-level interpreted language, primarily intended for numerical computations. It provides capabilities for the numerical solution of linear and nonlinear problems, and for performing other numerical experiments. It also provides extensive graphics capabilities for data visualization and manipulation. GNU Octave is normally used through its interactive interface (CLI and GUI), but it can also be used to write non-interactive programs. The GNU Octave language is quite similar to Matlab so that most programs are easily portable.
Building together with a separate toolchain (custom built gcc version) is described here.
Are you using an old version of Octave? Check the Release History page to see how old it is.
- OctConf 2017 at CERN (March 20-22, 2017)
- February 22, 2017 GNU Octave 4.2.1 has been released (see above)!
- Octave is a mentor organization for Google Summer of Code 2017. Student applications are due April 3, 2017.
Getting help with GNU Octave
- Read the GNU Octave documentation
- The frequently asked questions (FAQ) list is good place to start with answers to questions regarding what is Octave, licensing, new features, documentation, installation, coding, contributing to Octave, and more, are found there.
- Continue reading this wiki and feel free to add further content (please check that it is not already part of, or belongs in, the documentation and read the Contribution guidelines).
- Other support options
Below is a temporary attempt to organize the "most wanted" pages of the Wiki. A list of all pages on the wiki can be seen here. To locate something specific, try the wiki's search box, or prepend
site:wiki.octave.org to a Google search. Please read the Contribution guidelines first, if you want to contribute to this Wiki.
See also the list of Forge Wiki pages: Category:Octave-Forge
- bim package Solve Partial Differential Equations with a Finite Element method
- Control package
- CGI Common Gateway Interface for Octave
- Dataframe package cell arrays on steroids
- Dicom package
- fem-fenics Interface to FEnics FEM library
- Geometry package
- Image package
- Image acquisition package Capture images, for example from v4l2 hardware like webcams
- Instrument control package
- Interval package Real-valued interval arithmetic
- I/O package
- Java package
- Mechanics package
- ncArray High-level interface of accessing a single or a collection of NetCDF files as a multi-dimensional array
- netcdf matlab-compatible NetCDF package
- octcdf NetCDF package (old)
- OCS package Octave Circuit Simulator
- optiminterp Optimal interpolation
- Parallel package
- Sockets package
- Symbolic package
- TISEAN package
- Video package
- Scilab co-simulation package
- Octclipse (Windows and GNU/Linux only. The Octclipse developers are seeking individuals to assist with MacOS X support.)
- DomainMath IDE (Windows, GNU/Linux and Mac OS.)
- GNU Octave syntax highlight files (Syntax highlight definitions for some editors. Contributions are welcome)
- Using Octave - For those just getting started.
- Octave Basics - A short reference card to get started.
- Octave introduction script
- Tips and tricks - Guidelines to improve your coding skills.
- Cookbook - Several simple and useful examples.
- Octave load - Use liboctave functions to load variables from a file in Octave's binary format.
- Fortran - Accessing liboctave from a Fortran 2003 program.
- Octave fun - Coding can be fun -- miscellaneous more or less funny scripts
- Video tutorials
- Plotting tutorials
- How to Connect SystemVerilog with Octave
In addition to these links, there is a longer list of links relevant to (especially novice) developers at the page Developers.
- 4.2.0 Release Checklist
- Bug Fix List - 4.2.0 Release
- Doxygen - C++ code documentation
- International Characters Support - Using Octave in your own language.
- Octave for Microsoft Windows
- Octave for MacOS X
- Octave for GNU/Linux and other Unix systems
- Contribution guidelines
- Publications using Octave - A compilation of scientific publications making reference to GNU Octave (add yours!).