Octave 4.0 is a major new release of a high-level interpreted language, primarily intended for numerical computations. It now uses a GUI by default, includes support for classdef object-oriented programming, has better compatibility with MATLAB, and many new and improved functions.
GNU Octave is popular as a free open source alternative to MATLAB. It provides capabilities for the numerical solution of linear and nonlinear problems, and has extensive graphics capabilities for data visualization and manipulation.
Octave's graphical interface was introduced in the previous release (see GUI For GNU Octave 3.8) but as it wasn't quite as polished as the Octave team wanted it to it wasn't set as the default. In version 4.0 the GUI appears automatically when running Octave interactively, but there are options for those who don't want to use it. Using --no-gui at startup you can revert to a command line interface that still allows use of the GUI dialogs and the qt plotting toolkit. The option --no-gui-libs runs a minimalist command line interface that does not link with the Qt libraries and uses the fltk toolkit for plotting.
Another major change is that Octave now uses OpenGL graphics with Qt widgets by default. However, if OpenGL libraries are not available when Octave is built, gnuplot is use and you can still choose to use the fltk or gnuplot toolkit for graphics.
A new syntax for object oriented programming termed classdef has been introduced with the following new keywords:
There are also new audio functions and classes and there are lots of language additions. Among them changes that provide better MATLAB compatibility with regard to ranges, diagonal matrices, and permutation matrices.
There is a lot of flexibility in how you can configure a JPEG file to best represent an image. Now Google's Guetzli can find optimum settings and so produce files that are up to 45% than other encoder [ ... ]