Editing FAQ

Jump to navigation Jump to search

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.

Latest revision Your text
Line 22: Line 22:
 
The GNU Octave distribution includes a [http://www.octave.org/octave.pdf 1000+ page Texinfo manual].  Access to the complete text of the manual is available via the <code>doc</code> command at the GNU Octave prompt.
 
The GNU Octave distribution includes a [http://www.octave.org/octave.pdf 1000+ page Texinfo manual].  Access to the complete text of the manual is available via the <code>doc</code> command at the GNU Octave prompt.
  
==What is Octave Forge?==
+
==What is Octave-Forge?==
  
[https://octave.sourceforge.io/ Octave Forge] is a collection of [[packages]] for GNU Octave, something similar to the Matlab toolboxes.  When talking about the two projects at the same time, GNU Octave is usually referred to as Octave core (or just "core").  Octave Forge also serves as a test bed for code that may eventually end up in the core, and distributes binaries for systems with a lack of developers tools (mainly Windows).
+
[https://octave.sourceforge.io/ Octave-Forge] is a collection of [[packages]] for GNU Octave, something similar to the Matlab toolboxes.  When talking about the two projects at the same time, GNU Octave is usually referred to as Octave core (or just "core").  Octave-Forge also serves as a test bed for code that may eventually end up in the core, and distributes binaries for systems with a lack of developers tools (mainly Windows).
  
 
==Who uses Octave?==
 
==Who uses Octave?==
Line 50: Line 50:
 
Octave is free software and does not legally bind you to cite it.  However, we have invested a lot of time and effort in creating GNU Octave, and we would appreciate if you would cite if you used.  To cite GNU Octave in publications use:
 
Octave is free software and does not legally bind you to cite it.  However, we have invested a lot of time and effort in creating GNU Octave, and we would appreciate if you would cite if you used.  To cite GNU Octave in publications use:
  
   John W. Eaton, David Bateman, Søren Hauberg, Rik Wehbring ({{Release Year}}).
+
   John W. Eaton, David Bateman, Søren Hauberg, Rik Wehbring (2017).
 
   GNU Octave version {{Release}} manual: a high-level interactive language for numerical computations.
 
   GNU Octave version {{Release}} manual: a high-level interactive language for numerical computations.
 
   URL https://www.gnu.org/software/octave/doc/v{{Release}}/
 
   URL https://www.gnu.org/software/octave/doc/v{{Release}}/
Line 59: Line 59:
 
     title    = {{GNU Octave} version {{Release}} manual: a high-level interactive language for numerical computations},
 
     title    = {{GNU Octave} version {{Release}} manual: a high-level interactive language for numerical computations},
 
     author    = {John W. Eaton and David Bateman and S{\o}ren Hauberg and Rik Wehbring},
 
     author    = {John W. Eaton and David Bateman and S{\o}ren Hauberg and Rik Wehbring},
     year      = <span>{</span>{{Release Year}}},
+
     year      = {2017},
 
     url      = {https://www.gnu.org/software/octave/doc/v{{Release}}/},
 
     url      = {https://www.gnu.org/software/octave/doc/v{{Release}}/},
 
   }
 
   }
Line 69: Line 69:
 
==What documentation exists for Octave?==
 
==What documentation exists for Octave?==
  
Besides this wiki, the GNU Octave distribution includes a [http://www.octave.org/doc/interpreter 1000+ page Texinfo manual] ([http://www.octave.org/octave.pdf PDF]).  Access to the complete text of the manual is available via the {{manual|doc}} command at the GNU Octave prompt.  If you have problems using this manual, or find that some topic is not adequately explained, indexed, or cross-referenced, please report it on http://bugs.octave.org.
+
Besides this wiki, the GNU Octave distribution includes a [http://www.octave.org/doc/interpreter 1000+ page Texinfo manual] ([http://www.octave.org/octave.pdf PDF]).  Access to the complete text of the manual is available via the <code>doc</code> command at the GNU Octave prompt.  If you have problems using this manual, or find that some topic is not adequately explained, indexed, or cross-referenced, please report it on http://bugs.octave.org.
  
 
==How can I report a bug in Octave?==
 
==How can I report a bug in Octave?==
Line 134: Line 134:
 
For general use, it is recommended to use the latest stable version of Octave (currently {{Release}}), available from http://www.octave.org/download.html.  For development and bleeding-edge features one can obtain the development source code from the Mercurial repository https://hg.savannah.gnu.org/hgweb/octave/graph/.
 
For general use, it is recommended to use the latest stable version of Octave (currently {{Release}}), available from http://www.octave.org/download.html.  For development and bleeding-edge features one can obtain the development source code from the Mercurial repository https://hg.savannah.gnu.org/hgweb/octave/graph/.
  
The used version of Octave is available via the {{manual|ver}} command and a list of user-visible changes since the last release is available via the {{manual|news}} command at the GNU Octave prompt.
+
The used version of Octave is available via the <code>ver</code> command and a list of user-visible changes since the last release is available via the <code>news</code> command at the GNU Octave prompt.
  
 
==On what platforms does Octave run?==
 
==On what platforms does Octave run?==
Line 144: Line 144:
 
The latest version of the Octave source code (and older versions) is available from:
 
The latest version of the Octave source code (and older versions) is available from:
  
* https://www.octave.org/download.html
+
* http://www.octave.org/download.html
 
* https://ftp.gnu.org/gnu/octave/
 
* https://ftp.gnu.org/gnu/octave/
  
Line 213: Line 213:
 
* Many optimizations of the accumarray function
 
* Many optimizations of the accumarray function
 
* Sparse matrix indexing has been rewritten for speed
 
* Sparse matrix indexing has been rewritten for speed
* The pkg command now accepts a -forge option to pull packages directly from Octave Forge
+
* The pkg command now accepts a -forge option to pull packages directly from Octave-forge
  
 
==What's new in version series 3.2.X of Octave==
 
==What's new in version series 3.2.X of Octave==
Line 236: Line 236:
 
* [http://hg.savannah.gnu.org/hgweb/octave/file/83792dd9bcc1/etc/NEWS.3 NEWS.3] for the 3.X.Y series
 
* [http://hg.savannah.gnu.org/hgweb/octave/file/83792dd9bcc1/etc/NEWS.3 NEWS.3] for the 3.X.Y series
  
=Packages and Octave Forge=
+
=Packages and Octave-Forge=
  
==How do I install or load all Octave Forge packages?==
+
==How do I install or load all Octave-Forge packages?==
  
 
Do not do it!  Really, there is no reason to do this.  Octave has many packages for different needs and is unlikely that you need all of them.  You either have a small set of required packages, in which case
 
Do not do it!  Really, there is no reason to do this.  Octave has many packages for different needs and is unlikely that you need all of them.  You either have a small set of required packages, in which case
Line 492: Line 492:
  
 
If the Qt graphics toolkit is used and "plot" is used for the first time, the fontconfig scanner searches the font directory to build a font cache. This can take up to 3min on slow CPUs. See {{bug|45458}}
 
If the Qt graphics toolkit is used and "plot" is used for the first time, the fontconfig scanner searches the font directory to build a font cache. This can take up to 3min on slow CPUs. See {{bug|45458}}
 
==Error message about invalid call to script or invalid use of script in index expression==
 
 
If Octave shows an error message about {{Codeline|invalid call to script .../close.m}} or {{Codeline|invalid use of of script .../close.m in index expression}}, it means that you have created a script called close.m that is overriding the built-in Octave function {{Codeline|close}}. Octave functions and scripts share the samem global namespace. It is best to avoid creating your own scripts or functions that have the same name as an Octave function.
 
  
 
=Differences between Octave and Matlab=
 
=Differences between Octave and Matlab=
Line 729: Line 725:
 
Octave has a lisp-like {{Codeline|unwind_protect}} block that allows blocks of code that terminate in an error to ensure that the variables that are touched are restored. You can do something similar with try/catch combined with {{Codeline|rethrow (lasterror ())}} in Matlab, however rethrow and lasterror are only available in Octave 2.9.10 and later. MATLAB 2008a also introduced {{Codeline|OnCleanUp}} that is similar to {{Codeline|unwind_protect}}, except that the object created by this function has to be explicitly cleared in order for the cleanup code to run.
 
Octave has a lisp-like {{Codeline|unwind_protect}} block that allows blocks of code that terminate in an error to ensure that the variables that are touched are restored. You can do something similar with try/catch combined with {{Codeline|rethrow (lasterror ())}} in Matlab, however rethrow and lasterror are only available in Octave 2.9.10 and later. MATLAB 2008a also introduced {{Codeline|OnCleanUp}} that is similar to {{Codeline|unwind_protect}}, except that the object created by this function has to be explicitly cleared in order for the cleanup code to run.
  
Note that using try/catch combined with {{Codeline|rethrow (lasterror ())}} cannot guarantee that global variables will be correctly reset, as it won't catch user interrupts with Ctrl-C. For example
+
Note that using try/catch combined with {{Codeline|rethrow (lasterror ())}} can not guarantee that global variables will be correctly reset, as it won't catch user interrupts with Ctrl-C. For example
  
 
<syntaxhighlight lang="Matlab">
 
<syntaxhighlight lang="Matlab">
Line 926: Line 922:
 
   demo multinom
 
   demo multinom
  
===Powerful assert===
+
===Powerfull assert===
  
 
Function assert have extended input possibilities.
 
Function assert have extended input possibilities.

Please note that all contributions to Octave may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see Octave:Copyrights for details). Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel Editing help (opens in new window)