GNU Octave
GNU Octave
|
|
---|---|
GNU Octave 4.0.0 GUI |
|
Basic data
|
|
Publishing year | 1988 |
Current version |
5.2.0 ( January 31, 2020 ) |
operating system | GNU / Linux , macOS , Solaris , Unix , OS / 2 , Windows |
programming language | C ++ |
category | Mathematics , control engineering , modeling |
License | GPL ( Free Software ) |
www.gnu.org/software/octave/ |
GNU Octave [ ˈɒktɪv ] is free software for the numerical solution of mathematical problems, such as matrix calculations, solving (differential) equation systems , integration etc. Calculations can becarried outin Octave with a scripting language that is largely similar to the proprietary Matlab and also free FreeMat is compatible.
history
The concept of Octave originated in 1988. It was initially planned as software to accompany a student textbook for chemical reactors, which was written by James B. Rawlings ( University of Wisconsin-Madison ) and John G. Eherdt ( University of Texas ). Alternatively, Fortran could have served this purpose, since it seemed to be particularly suitable as a technical programming language. However, it found that students spent a lot more time getting used to the language and looking for the bugs in the code than they did in chemical engineering .
First of all, special tools for solving construction problems of chemical reactors were realized. When the developers realized that Octave could be used to solve other problems, it was decided to develop it into a more flexible program. They therefore decided to create an interactive environment for the program in which one could learn the basics within a very short time. The aim of the development was to make sophisticated calculations very easy.
Full-time development by John W. Eaton began in spring 1992 and the first alpha version appeared on January 4, 1993. Since then, GNU Octave has been fundamentally revised several times and is now integrated into most Linux distributions .
For the Free Software Foundation , the further development of Octave into a free MATLAB replacement until January 2017 was one of around a dozen "High Priority Projects".
Technical characteristics
Octave is implemented in C ++ , but it can also be expanded with modules written in Octave itself or in other languages, for example Fortran , C or C ++. As of version 4.0.0, an integrated graphic toolkit based on Qt (library) is used by default for the graphic output of 2D and 3D plots . The gnuplot and FLTK used in earlier versions can still be used. But alternative graphics packages such as EpsTk can also be used.
A big advantage of Octave is that it can be adapted to any computer . For example, the full address space can also be used with 64-bit computers.
The other way around, all Octave libraries can also be used in C ++ programs, so that Octave also represents a numerical library for C ++.
MATLAB compatibility
The GNU Octave scripting language, which is derived from MATLAB, is mostly compatible, and in some cases has been extended to it. The functional compatibility of GNU Octave with the basic version of MATLAB (without toolboxes) is also largely given. Almost complete compatibility with MATLAB can be achieved with the additional package octave-forge and other free replacement functions of the Mathworks FileExchange . External MEX functions written for MATLAB in C or C ++ can often be compiled and used for Octave without code adjustments.
Octave uses BLAS as a library for vector and matrix operations , optionally in the ATLAS variant, whereas MATLAB now uses the commercial BLAS variant MKL from Intel .
Graphic user interfaces (GUI)
From version 4.0.0, GNU Octave is delivered with its own graphical user interface ( GUI ) based on the Qt toolkit . Version 3.8.0 already had the GUI, which was experimental at the time. However, this was not activated by default and could be octave --force-gui
started with. Octave can still be operated based on the command line, as the command window offers a complete terminal emulation.
Unofficial third party GUIs
- Cantor (Linux) - user interface for GNU Octave, Sage , Maxima , R and KAlgebra.
- Xoctave (Windows, Linux) - Xoctave encapsulates GNU Octave using pipes and additional tools to make it easier to use. Formerly free software, now proprietary.
- Octavenb - Integration of GNU Octave in NetBeans IDE, supports SVN, multilingual, license: GPL-2.0
- QtOctave (Windows, Linux) - graphical extension, further development was discontinued in favor of the official GUI published in version 3.8
- Anoc (Android) - user interface for GNU Octave. The calculations are carried out on a dedicated server for better performance
User interfaces as a web interface
- LaTeX and Octave Editor - Online editor, among others for GNU Octave with graphical output and storage option
- Online access for GNU Octave - Enables simple calculations with GNU Octave
- octave-online.net - online editor with plot functionality and git interface for local synchronization
Development history
time | event |
---|---|
1988/1989 | First discussions (textbook and software) |
February 1992 | Start of development |
January 1993 | Announcement on the web (version 0.60) |
February 1994 | First release (version 0.6.x to 1.xx) |
December 1996 | Second major release (version 2.0.x) with transfer to Windows ( Cygwin ) |
March 1998 | Version 2.1 |
November 2004 | Version 2.9 (jump in preparation for the release of 3.0) |
December 2007 | Release of version 3.0 (major update) |
June 2009 | Release of version 3.2 (major update) |
February 8, 2011 | Version 3.4.0 (major update) |
February 22, 2012 | Release of Octave 3.6.1 (major update) |
December 31 2013 | Release of Octave 3.8.0 (experimental GUI) |
May 29, 2015 | Version 4.0.0 (stable GUI and extended syntax for OOP ) |
November 14, 2016 | Version 4.2.0 (gnuplot 4.4+) |
April 30, 2018 | Version 4.4.0 (new main direction for GUI QT Toolkit, FLTK secondary) |
1st March 2019 | Release of Octave 5.1.0 (QT5 preferred) |
See also
Web links
- Official website (English)
- Official Octave add-ons (English)
- Octave Wiki (English)
- Short tutorial: Octave / MATLAB
- Octave in the web browser
Individual evidence
- ↑ GNU Octave 5.2.0 Released . January 31, 2020 (accessed February 9, 2020).
- ^ About-Page Octave. Retrieved October 27, 2017 (English).
- ↑ Matt Lee: High Priority Free Software Projects ( English ) www.fsf.org. March 2, 2012. Retrieved July 14, 2012: "GNU Octave, free software Matlab replacement"
- ^ Changelog for the High Priority Projects list
- ↑ https://www.gnu.org/software/octave/NEWS-1.html
- ↑ https://www.gnu.org/software/octave/NEWS-2.html
- ↑ https://www.gnu.org/software/octave/news/2012/12/31/news-archive.html
- ↑ https://www.gnu.org/software/octave/NEWS-3.html
- ↑ https://www.gnu.org/software/octave/NEWS-3.2.html
- ↑ https://www.gnu.org/software/octave/NEWS-3.4.html
- ↑ https://www.gnu.org/software/octave/NEWS-3.6.html
- ↑ https://www.gnu.org/software/octave/news/release/2013/02/21/octave-3.6.4-released.html
- ↑ https://www.gnu.org/software/octave/NEWS-3.8.html
- ↑ https://www.gnu.org/software/octave/news/release/2013/12/31/octave-3.8.0-released.html
- ↑ https://www.gnu.org/software/octave/news/release/2014/03/04/octave-3.8.1-released.html
- ↑ https://www.gnu.org/software/octave/NEWS-4.0.html
- ↑ https://www.gnu.org/software/octave/news/release/2015/05/29/octave-4.0.0-released.html
- ↑ https://www.gnu.org/software/octave/news/release/2016/03/23/octave-4.0.1-released.html
- ↑ https://www.gnu.org/software/octave/news/release/2016/07/02/octave-4.0.3-released.html
- ↑ Release Notes Version 4.2.0 ( Memento from November 19, 2016 in the Internet Archive )
- ↑ https://www.gnu.org/software/octave/NEWS-4.2.html
- ↑ https://www.gnu.org/software/octave/news/release/2017/02/24/octave-4.2.1-released.html
- ↑ https://www.gnu.org/software/octave/news/release/2018/03/13/octave-4.2.2-released.html
- ↑ https://www.gnu.org/software/octave/NEWS-4.4.html
- ↑ https://www.gnu.org/software/octave/news/release/2018/04/30/octave-4.4.0-released.html
- ↑ https://www.gnu.org/software/octave/news/release/2018/08/09/octave-4.4.1-released.html
- ↑ https://www.gnu.org/software/octave/NEWS-5.1.html
- ↑ https://www.heise.de/developer/meldung/Matlab-Alternative-GNU-Octave-in-Version-5-1-erschienen-4324927.html