Octave Programming Tutorial

From Wikibooks, the open-content textbooks collection

Jump to: navigation, search

From the Octave website at http://www.octave.org/

Octave is a high-level language, primarily intended for numerical computations. It provides a convenient command line interface for solving linear and nonlinear problems numerically, and for performing other numerical experiments using a language that is mostly compatible with Matlab. It may also be used as a batch-oriented language.

Octave has extensive tools for solving common numerical linear algebra problems, finding the roots of nonlinear equations, integrating ordinary functions, manipulating polynomials, and integrating ordinary differential and differential-algebraic equations. It is easily extensible and customizable via user-defined functions written in Octave's own language, or using dynamically loaded modules written in C++, C, Fortran, or other languages.

The purpose of this collection of tutorials is to get you through most (and eventually all) of the available Octave functionality from a basic level.

So far, they are copies of the free tutorials at the following link, http://www.aims.ac.za/wiki/index.php/Octave, which initially originated from the link http://www.aims.ac.za/resources/tutorials/octave/.

A longer and more advanced wikibook related to Octave Programming is the MATLAB Programming wikibook.

Indeed, Octave is often viewed as a system for numerical computations with a language that is mostly compatible with Matlab, but that is available as free software under the GNU GPL, and that can replace it in many circumstances. This why, only one advanced programming wikibook is being written; but therein the differences between MATLAB and Octave languages are presented.

The available tutorials are

Complete beginners should follow the suggested roadmap:

  1. Getting started
  2. Vectors and matrices
  3. Plotting
  4. Text and file output
  5. General mathematical functions
  6. Loops and conditions
  7. Writing functions
  8. Vectorization

Thereafter, you can do the more specialized sections

in any order.

[edit] Authors

[edit] References

In other languages