Difference between revisions of "GNU Octave Wiki"

From Octave
Jump to navigation Jump to search
(→‎News: Announce GSoC 2020 completion.)
 
(217 intermediate revisions by 34 users not shown)
Line 1: Line 1:
[http://www.octave.org 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.
+
[https://www.gnu.org/software/octave/ 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. The program is named after [https://en.wikipedia.org/wiki/Octave_Levenspiel Octave Levenspiel], a former professor of the principal author. GNU Octave is normally used through its interactive interface ([https://en.wikipedia.org/wiki/Command-line_interface CLI] and [https://en.wikipedia.org/wiki/Graphical_user_interface GUI]), but it can also be used to write non-interactive programs. The project was conceived around 1988 and at first it was intended to be a companion to a chemical reactor design course. The GNU Octave language is largely compatible to [https://en.wikipedia.org/wiki/MATLAB Matlab] so that most programs are easily portable. In addition, functions known from the C standard library and from UNIX system calls and functions are supported. C/C++ and Fortran code can be called from Octave by creating [https://octave.org/doc/interpreter/Getting-Started-with-Oct_002dFiles.html Oct-Files], or using Matlab compatible [https://octave.org/doc/interpreter/Mex_002dFiles.html Mex-Files].
  
This wiki is intended to supplement the [http://www.gnu.org/software/octave/doc/interpreter GNU Octave documentation]. Before adding content, please check that it is not already part of, or belongs in, the documentation.
+
== [[:Category:Installation|Installing]] ==
  
== GNU Octave FAQ ==
+
Installation instructions for:
 +
* [[Octave for macOS|macOS]]
 +
* [[Octave for GNU/Linux|GNU/Linux]], [[Octave for Android|Android]], and [[Octave for other Unix systems|other Unix systems]]
 +
* [[Octave for Microsoft_Windows|Microsoft Windows]]
  
The [[FAQ]] is a list of frequently asked questions (FAQ) for GNU Octave users and a good place to start.
+
Get installers and sources from https://www.octave.org/download.
  
Answers to questions regarding [[FAQ#General|what is Octave]], [[FAQ#Licensing_issues|licensing]], [[FAQ#What.27s_new_in_Octave|new features]], [[FAQ#What_documentation_exists_for_Octave.3F|documentation]], [[FAQ#Installation_issues_and_problems|installation]], [[FAQ#Coding|coding]], [[FAQ#How_can_I_get_involved_in_Octave_development.3F|contributing to Octave]], and more, are found there.
+
{{Note|'''GNU Octave {{Release}}''' is the current stable release.}}
  
== Table of contents ==
+
Are you using an old version of Octave?  Check the [[Release History]] page to see how old it is.
  
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 [[Special:AllPages|here]]. To locate something specific, try the wiki's search box, or prepend {{Codeline|<nowiki>site:http://www.octave.org/wiki/</nowiki>}} to a [https://www.google.com/search?&q=site%3Ahttp%3A%2F%2Fwww.octave.org%2Fwiki google search].
+
== [https://www.gnu.org/software/octave/news.html News] ==
  
=== Installation Instructions for Windows, MacOS X and GNU/Linux ===
+
* ''September 8, 2020'' &mdash; Congratulations! [[User:Abdallah_Elshamy|'''Abdallah Elshamy''']] successfully completed his [https://summerofcode.withgoogle.com/organizations/4930645207285760/ Google Summer of Code 2020] project with GNU Octave.  [[Summer of Code#GSoC 2020 | More information]].
* [[Octave for Windows]]
+
* ''July 28, 2020'' &mdash; Read about the [[Online Developer Meeting (2020-07-28)]].
* [[Installing Win32 Distribution]]
+
* ''July 7, 2020'' &mdash; Try out our new user and developer forum [https://octave.discourse.group Octave Discourse].
* [[Octave for MacOS X]]
+
* ''{{Release Date}}'' &mdash; '''GNU Octave {{Release}}''' has been released (see above)!
* [[Octave for GNU/Linux]]
 
  
=== Building Octave ===
+
== Getting help ==
* [[Build from source]]
 
* [[Mercurial (hg) cheat sheet]]
 
* [[Tests|Testing Source Code]]
 
* [[Octave for Mac|Octave for MacOS (minimalistic)]]
 
* [[Create a MacOS X App Bundle Using MacPorts]]
 
* [[Enable large arrays: Build octave such that it can use arrays larger than 2Gb.|Building Octave to Use Large Arrays]]
 
  
----
+
* [https://octave.discourse.group Octave Discourse] - Forum for Octave users and developers.
 +
* [[FAQ|Frequently asked questions (FAQ)]]
 +
* [https://www.gnu.org/software/octave/doc/interpreter GNU Octave documentation]
 +
* [https://www.gnu.org/software/octave/support.html Other support options]
  
* [[Release 3.8]]
+
== [[:Category:Resources|Getting started]] ==
  
=== Octave-Forge ===
+
* [[Publications using Octave#Books|Books]]
* [[Octave_Forge|Octave-Forge and Installing Packages]]
+
* [[Video tutorials|Videos]]
* [[Creating_packages|Creating Packages]]
+
* [https://bagustris.github.io/octave-tutorial Short course]
  
==== Available Packages ====
+
[[File:Octave-flower.svg|right|frame|[[:Category:Octave Forge|Octave Forge]] is a collection of high quality packages for GNU Octave.]]
See the [http://octave.sourceforge.net/packages.php Octave Forge] website for a complete list.
 
* [[Dicom_package|Dicom]]
 
* [[Geometry_package|Geometry]]
 
* [[IO_package|I/O]]
 
* [[Java_package|Java]]
 
* [[Mechanics_package|Mechanics]]
 
* [[Instrument_control__package|Instrument control]]
 
* [[Sockets_package|Sockets]]
 
* [[Video_package|Video]]
 
* [[Fem-fenics|fem-fenics]] Interface to [http://fenicsproject.org/ FEnics] FEM library
 
* [[bim_package|bim]] Solve Partial Differential Equaltions with a Finite Element method
 
* [http://modb.oce.ulg.ac.be/mediawiki/index.php/CGI_programming_with_Octave CGI] Common Gateway Interface for Octave
 
* [http://modb.oce.ulg.ac.be/mediawiki/index.php/Optimal_interpolation_Fortran_module_with_Octave_interface optiminterp] Optimal interpolation
 
* [http://modb.oce.ulg.ac.be/mediawiki/index.php/NetCDF_toolbox_for_Octave octcdf] NetCDF package (old)
 
* [http://modb.oce.ulg.ac.be/mediawiki/index.php/Octave-netcdf netcdf] matlab-compatible NetCDF package
 
* [http://modb.oce.ulg.ac.be/mediawiki/index.php/NcArray ncArray] High-level interface of accessing a single or a collection of NetCDF files as a multi-dimensional array
 
  
=== Editors & Octave ===
+
== [[Packages]] / [[:Category:Octave Forge|Octave Forge]] ==
* [[Gedit]]
 
* [[Emacs]]
 
* [[Nano]]
 
* [[Vim]]
 
* [[Kate]]
 
* [http://octclipse.sourceforge.net Octclipse] (Windows and GNU/Linux only.  The Octclipse developers are seeking individuals to assist with MacOS X support.)
 
* [https://sites.google.com/site/domainmathide/ DomainMath IDE] (Windows,GNU/Linux and Mac OS.)
 
  
=== Plotting tutorial ===
+
* [https://octave.org/doc/interpreter/Installing-and-Removing-Packages.html Installing packages]
All or most of the information about plotting in Octave can be found in the manual and on the internet. This information can be too scattered over different resources for a new user to find his/her way into solving a plotting problem/need. This tutorial should be considered as the 'recipe text' by examples if you consider the manual as a 'recipe ingredients only'.
+
* [[Creating packages]]
* [[Recap of the hierarchy of each plot element]]
+
* '''[[:Category:Octave Forge|Octave Forge]]''' &mdash; A collection of high quality packages for GNU Octave.
* [[The order of the commands matter sometimes]]  
 
* [[Changing text elements (label, title)]]
 
* [[More control over subplots]]
 
* [[Enable "linestyle" functionality for Gnuplot's x11 terminal]]
 
  
=== Miscellaneous ===
+
== [[:Category:Development|Development]] ==
* [[Octave Basics]] - For those just getting started.
 
* [[Cookbook]] - Several simple and useful examples.
 
* [[Tips and tricks]] - Guidelines to improve your coding skills.
 
* [[Fortran]] - Accessing liboctave from a Fortran 2003 program.
 
* [[Octave load]] - Use liboctave functions to load variables from a file in Octave's binary format.
 
* [[Special:AllPages|All Pages]] - A list of all special pages (like recent changes to the wiki)
 
* [[Publications using Octave]] - A compilation of scientific publications making reference to GNU Octave (add yours!).
 
* [[Octave fun]] - Coding can be fun -- miscellaneous more or less funny scripts
 
* [[BASH and Octave]] - tips for easing use of Octave together with GNU BASH (linux)
 
  
=== [[Category:Development|Development]] ===
+
We always need more help improving Octave and there are many ways [https://www.gnu.org/software/octave/get-involved.html you can contribute]. You can help by fixing bugs, developing new features, answering questions on the mailing list or IRC channel, helping to improve this wiki or other web pages.
* [[3.8 Bug Fix List]]
+
 
* [[Build From Source]]
+
* Get an overview about the [[:Category:Development|GNU Octave development]].
* [[Building (Z)ITSOL]] - Optional build dependency for using Incomplete LU-Preconditioner
+
* Take a look at our [[Projects|project ideas]] and [[Summer of Code - Getting Started | Summer of Code project ideas]].
* [[Commit message guidelines]]
+
 
* [[Compile From Source]]
+
== [[:Category:Academia|Academia]] ==
* [[Compiling Octave from scratch on a Mac]]
+
 
* [[Compiling on OpenBSD]]
+
* [[Publications using Octave]] &mdash; A compilation of scientific publications making reference to GNU Octave (add yours!).
* [[Contributing to the development of packages/modules]]
 
* [[Create a MacOS X App Bundle Using MacPorts]]
 
* [[Cross compiling]]
 
* [[Debugging Octave]]
 
* [[GSoC 2012 application]]
 
* [[GSoC 2013 application]]
 
* [[GSoC Project Ideas]]
 
* [[Hg instructions for mentors]]
 
* [[Hg instructions for students]]
 
* [[Jit devel]]
 
* [[Mercurial]]
 
* [[Mercurial (hg) cheat sheet]]
 
* [[OctConf 2012]]
 
* [[OctConf 2013]]
 
* [[OctConf TODO]]
 
* [[Projects]]
 
* [[Release 3.8]]
 
* [[Summer of Code Project Ideas]]
 
  
 
== External Links ==
 
== External Links ==
* [http://www.gnu.org/software/octave/ Octave Homepage]
+
 
* [http://octave.sourceforge.net/ Octave Forge]
+
* [https://www.gnu.org/software/octave/ Octave Homepage]
* [https://savannah.gnu.org/bugs/?group=octave GNU Octave - Bug Tracker]
+
* [https://octave.sourceforge.io/ Octave Forge]
* [https://savannah.gnu.org/task/?group=octave GNU Octave - Task Tracker]
+
* [https://savannah.gnu.org/bugs/?group=octave Bug Tracker]
* [https://savannah.gnu.org/patch/?group=octave GNU Octave - Patch Tracker]
+
* [https://savannah.gnu.org/task/?group=octave Task Tracker]
* [https://savannah.gnu.org/hg/?group=octave GNU Octave - Mercurial Repositories]
+
* [https://savannah.gnu.org/patch/?group=octave Patch Tracker]
* [http://planet.octave.org Planet Octave] (site summary for blogs from Octave's [http://code.google.com/soc/ GSoC] and [http://sophia.estec.esa.int/socis2013/ SoCiS] students)
+
* [https://savannah.gnu.org/hg/?group=octave Development Repositories]
 +
* [https://planet.octave.org/ Planet Octave] - A collection of blog feeds featuring Octave developers and [[Summer of Code]] students.

Latest revision as of 20:23, 12 September 2020

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. The program is named after Octave Levenspiel, a former professor of the principal author. GNU Octave is normally used through its interactive interface (CLI and GUI), but it can also be used to write non-interactive programs. The project was conceived around 1988 and at first it was intended to be a companion to a chemical reactor design course. The GNU Octave language is largely compatible to Matlab so that most programs are easily portable. In addition, functions known from the C standard library and from UNIX system calls and functions are supported. C/C++ and Fortran code can be called from Octave by creating Oct-Files, or using Matlab compatible Mex-Files.

Installing[edit]

Installation instructions for:

Get installers and sources from https://www.octave.org/download.

Info icon.svg
GNU Octave 5.2.0 is the current stable release.

Are you using an old version of Octave? Check the Release History page to see how old it is.

News[edit]

Getting help[edit]

Getting started[edit]

Octave Forge is a collection of high quality packages for GNU Octave.

Packages / Octave Forge[edit]

Development[edit]

We always need more help improving Octave and there are many ways you can contribute. You can help by fixing bugs, developing new features, answering questions on the mailing list or IRC channel, helping to improve this wiki or other web pages.

Academia[edit]

External Links[edit]