Skip to content

Octave

GNU Octave is a scientific programming language that has a Powerful mathematics-oriented syntax with built-in 2D/3D plotting and visualization tools. It is free and open-source software (FOSS) and is Drop-in compatible with many MATLAB scripts.

Running Octave code

Consider the following example code:

octave_2d_plot.m
x = -10:0.1:10;
y = sin (x);
plot (x, y);
title ("Simple 2-D Plot");
xlabel ("x");
ylabel ("sin (x)");

print -dpng octave_2d_plot.png
quit

Here is a simple Slurm script that you can use to run octave_2d_plot.m:

octave_job_1.sh
#!/bin/bash -l
#SBATCH --time=0-00:10
#SBATCH --ntasks=1
#SBATCH --cpus-per-task=1
#SBATCH --mem=4000M
module load octave/5.2.0 gnuplot/5.4.2

octave --no-gui octave_2d_plot.m

Note

Octave relies on the Gnuplot package to generate plots.

Running MATLAB code

Octave can often be used as a drop-in replacement for running MATLAB scripts, like the cosplot.m example on our MATLAB page:

octave_job_1.sh
#!/bin/bash -l
#SBATCH --time=0-00:10
#SBATCH --ntasks=1
#SBATCH --cpus-per-task=1
#SBATCH --mem=4000M
module load octave/5.2.0 gnuplot/5.4.2

octave --no-gui --traditional --eval "cosplot"

Further reading