Gnu Octave is an Opensource Money Saving Alternative developed by John W. Eaton recently interviewed by the Free Software Foundation where he was asked What is GNU Octave? here is the answer to that one

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. Octave is normally used through its interactive command line interface, but it can also be used to write non-interactive programs. The Octave language is quite similar to Matlab so that most programs are easily portable.

One of the goals of the Octave project is to liberate the code written for the proprietary program, Matlab, and allow it to run in Octave with as little modification as possible.

There is also a companion project called Octave Forge that is a collection of collaboratively developed packages for Octave that are analogous to Matlab’s toolboxes.

GNU 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 it’s own language, or using dynamically loaded modules written in C++, C, Fortran, or other languages.

The language is an interpreted programming language. It is a structured programming language (similar to C) and supports many common C standard library functions, and also certain UNIX system calls and functions. However, it does not support passing arguments by reference.

It programs consist of a list of function calls or a script. The syntax is matrix-based and provides various functions for matrix operations. It supports various data structures and allows object-oriented programming. Syntax is very similar to MATLAB, and careful programming of a script will allow it to run on both.

It also provides extensive graphics capabilities for data visualization and manipulation. Octave is normally used through its interactive command line interface, but it can also be used to write non-interactive programs.

Features:

  • Command and variable name completion
  • Command history
  • Data structures
  • Short-circuit boolean operators
  • Increment and decrement operators
  • Unwind-protect
  • Variable-length argument lists
  • Variable-length return lists
  • C++ integration
  • MATLAB compatibility