Template:Article summary start Template:Article summary text Template:Article summary heading Template:Article summary wiki Template:Article summary wiki Template:Article summary wiki Template:Article summary end
From the official website:
- 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. Octave is normally used through its interactive command line interface, but it can also be used to write non-interactive programs. The Octave language is quite similar to Matlab so that most programs are easily portable.
- Image — Provides functions for processing images.
- Statistics — Provides additional statistical functions.
- IO — Provides input and output in external formats such as XML, CSV or XLS.
- Signal — Provides functions for processing images
- Multicore — Provides functions for parallel processing on multiple cores.
A complete list can be found on Octave-Forge. Packages can also be managed using Octave's installer. To install a package:
- Download the
.tar.gzpackage from Octave-Forge.
- Install it from Octave as user by executing:
octave:1> pkg install packagename.tar.gz
Packages have dependencies which you have to install before installing your package, if you want to bypass this use:
octave:2> pkg install -no-deps packagename.tar.gz
To uninstall a package:
octave:3> pkg uninstall packagename.tar.gz
Some packages get loaded automatically by Octave, for those which do not:
octave:4> pkg load packagename
octave:5> pkg load all
To see which packages have been loaded use
pkg list, the packages with an asterisk are the ones that are already loaded.
Octave has two official plotting backends:
- GnuPlot: The classic plotting utility.
- FLTK: A new experimental OpenGL backend based on the GUI toolkit.
GnuPlot is still the default, but it can be changed by:
To make this change permanent add it to your
There are very few graphical interfaces for Octave and none of them are official:
- Cantor — A graphical user interface that delegates its mathematical operations to one of several back ends (Scilab, Maxima, Octave and others).
- QtOctave — A Qt frontend for Octave.
Reading Microsoft Excel Spreadsheets
There are several ways to read Microsoft Excel files with Octave.
Converting to an open format
The easiest way to use
.xls files in Octave would be to convert them to
.ods using Calc (limited to 1024 columns) from Libreoffice or Sheets(limited to 32768 columns) from the the Calligra Suite.
After the conversion is complete you can use the build-in Octave function
.ods files the AUR package is necessary which contains the
.xlsx files you can use the AUR package from AUR:
xlsx2csv -t /path/to/save/location -x /path/to/myfile.xlsx
Reading xls files directly from Octave
If you must work with XLS files and you cannot convert them to CSV or ODS, for whatever reason, you can use the
xlsread function from the AUR package.
xlsread is Java-based and as such requires some Java libraries to enable support for XLS files.
The steps necessary to make it work are:
$ export JAVA_HOME=/usr/lib/jvm/java-7-openjdkYou may also want to add this to your
~/.bashrcand append it to your
- 2. Install a Java XLS library for
xlsread. There are more such libraries available, a comparison can be found at here. The recommended library is AUR, available in the AUR.
- 3. Finally, install the AUR. AUR package from
To check if Java is working correctly in Octave, see the output of:
octave:1> javaclasspath STATIC JAVA PATH - empty - DYNAMIC JAVA PATH - empty -
To load the selected library in Octave, check if it is in the Java path. If not:
octave:1> javaaddpath path/to/file.jar
In the case you chose
To check if it works
The output should be > 0:
0 No spreadsheet I/O support found ---------- XLS (Excel) interfaces: ---------- 1 = COM (ActiveX / Excel) 2 = POI (Java / Apache POI) 4 = POI+OOXML (Java / Apache POI) 8 = JXL (Java / JExcelAPI) 16 = OXS (Java / OpenXLS) --- ODS (OpenOffice.org Calc) interfaces ---- 32 = OTK (Java/ ODF Toolkit) 64 = JOD (Java / jOpenDocument) ----------------- XLS & ODS: ---------------- 128 = UNO (Java / UNO bridge - OpenOffice.org)
To make this permanent add the
javaaddpath commands to your