Changes

Jump to navigation Jump to search

FAQ

577 bytes added, 13 June
m
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?==
[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?==
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 (2017{{Release Year}}).
GNU Octave version {{Release}} manual: a high-level interactive language for numerical computations.
URL https://www.gnu.org/software/octave/doc/v{{Release}}/
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},
year = <span>{2017</span>{{Release Year}}},
url = {https://www.gnu.org/software/octave/doc/v{{Release}}/},
}
==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 <code>{{manual|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?==
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 <code>{{manual|ver</code> }} command and a list of user-visible changes since the last release is available via the <code>{{manual|news</code> }} command at the GNU Octave prompt.
==On what platforms does Octave run?==
The latest version of the Octave source code (and older versions) is available from:
* httphttps://www.octave.org/download.html
* https://ftp.gnu.org/gnu/octave/
* Many optimizations of the accumarray function
* Sparse matrix indexing has been rewritten for speed
* The pkg command now accepts a -forge option to pull packages directly from Octave-forgeForge
==What's new in version series 3.2.X of Octave==
* [http://hg.savannah.gnu.org/hgweb/octave/file/83792dd9bcc1/etc/NEWS.3 NEWS.3] for the 3.X.Y series
=Packages and Octave-Forge=
==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
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=
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 ())}} can not cannot guarantee that global variables will be correctly reset, as it won't catch user interrupts with Ctrl-C. For example
<syntaxhighlight lang="Matlab">
demo multinom
===Powerfull Powerful assert===
Function assert have extended input possibilities.

Navigation menu