General | Finite-element | Discrete-element | Block-diagram | Electronics | Statistics | Symbolic
These are open-source alternatives to MATLAB. Latest version numbers and dates are as of 2010 Jan 31, unless otherwise noted.
See Any short texts … (2025 Mar 17) for suggestions for introductions to Octave.
Octave uses gnuplot
,
fltk
and qt
as graphics backends
(or ‘toolkits’).
The command available_graphics_toolkits()
lists which backends are available, and the command
graphics_toolkit()
can be used to
ask about or set the default backend.
Asking to set either gnuplot
or fltk
will produce a message saying why it’s a bad idea
and recommending use of qt
.
The value of the interpreter
property
(none
, tex
or latex
)
‘determines the manner in which special control sequences
in the text are rendered.’
(ref)
‘The current graphic toolkits [actually interpreters] produce very similar graphic displays, but differ in their capability to display unusual text and in their ability to print such text. In general, the "tex" interpreter (default) is the best all-around performer for both on-screen display and printing. However, for the reproduction of complicated text formulas the "latex" interpreter is preferred.’ (ref)
Some of the linear-algebra libraries used by Octave are
compiled for 32-bit integers, but there is a Windows installer
(e.g., octave-7.2.0-w64-64-installer.exe
)
with a version of Octave compiled with 64-bit integers,
allowing larger arrays (ref).
The following information is rather old.
Octave-Forge
is ‘a central location for the collaborative development
of packages for GNU Octave’. A Windows installer is
provided which includes all or most of the packages, including
a Windows package which provides
a COM interface and additional functionality under Windows,
including ActiveX support with actxserver
.
There have been some moves toward absorbing Octave-Forge
into the GNU Octave Web site (cf.
blog post by Carnë Draug, 2012 Aug 2, and a mock-up
of the proposed
agora.octave.org).
GUI development is possible within Octave;
it works best with qt
, to some extent
with fltk
, and not at all with
gnuplot
(ref).
See Henry Gomersall’s
Squishing Matlab mex files into Octave
for how to use a precompiled .mex
file with
Octave under Linux when you don't have the source code.
A hint but no complete solution is offered for MS Windows.
The following is a selection of the many available lists and discussions of MATLAB alternatives, some rather dated:
This topic is here taken to include discrete particle modelling, agent-base modelling, molecular dynamics, and whatever else might fit.
Note the distinction between conventional and ‘alchemical’ molecular dynamics, with the latter methods simulating ‘modifications to atoms which can change their properties to reflect non-physical or entirely different species’ (https://alchemistry.org/).
Modelica is a model-description language. See the on-line book Modelica by Example by Michael M. Tiller. Modelica is used in OpenModelica, Scicos and many other packages.
share/doc/
, including the User Guide in the
omc/
subdirectory.
Modelica Standard Library
, which can be
downloaded as a .zip file from
https://www.modelica.org/libraries/Modelica, is
included (as a .zip file) in OpenModelica in
lib/omlibrary/mslxx/
.
There is a
linear systems library that
does frequency responses, among other things.SanityCheckFail.mo
.
Under MS Windows it's in c:\Users\username\AppData\Local\Temp\OpenModelica\OMEdit\
.
Icon
and Diagram
views using
graphical annotations.
Some of the software listed above can be used for statistics. The following are popular specialized statistical packages. I haven’t used them myself.