Octave Refcard
Octave Refcard
Starting Octave
shiftdim (arr, s) rotate the array dimensions. circshift (arr, s) rotate the array elements.
octave start interactive Octave session octave le run Octave on commands in le octave --eval code Evaluate code using Octave octave --help describe command line options
Sparse Matrices
sparse (...) speye (n) sprand (n, m, d) spdiags (...) nnz (s)
create a sparse matrix. create sparse identify matrix. sparse rand matrix of density d. sparse generalization of diag. No. non-zero elements in sparse matrix.
Getting Help
help help command doc doc command lookfor str
list all commands and built-in variables briey describe command use Info to browse Octave manual search for command in Octave manual search for command based on str
TAB M-? RET C-p C-n M-< M-> C-r C-s history [-q] [N ] history -w [le]
complete a command or variable name list possible completions enter the current line move up through the history list move down through the history list move to the rst line in the history move to the last line in the history search backward in the history list search forward in the history list list N previous history lines, omitting history numbers if -q write history to le (~/.octave hist if no le argument)
Ranges
base : limit base : incr : limit Specify a range of values beginning with base with no elements greater than limit. If it is omitted, the default value of incr is 1. Negative increments are permitted.
Motion in Info
SPC or C-v DEL or M-v C-l
scroll forward one screenful scroll backward one screenful redraw the display
history -r [le]
read history from le (~/.octave hist if no le argument) edit history lines edit and then run previous commands from the history list run history lines run previous commands from the history list
\\ \" \ \n \t
a literal backslash a literal double-quote character a literal single-quote character newline, ASCII code 10 horizontal tab, ASCII code 9
[beg ] [end ]
Specify the rst and last history commands to edit or run. If beg is greater than end, reverse the list of commands before editing. If end is omitted, select commands from beg to the end of the history list. If both arguments are omitted, edit the previous item in the history list.
Index Expressions
var (idx) var (idx1, idx2) scalar vector select elements of a vector select elements of a matrix select row (column) corresponding to scalar select rows (columns) corresponding to the elements of vector select rows (columns) corresponding to the elements of range select all rows (columns)
Shell Commands
cd dir pwd ls [options] getenv (string) system (cmd)
change working directory to dir print working directory print directory listing return value of named environment variable execute arbitrary shell command string
range
Searching in Info
s C-s C-r i ,
search for a string search forward incrementally search backward incrementally search index & go to corresponding node go to next match from last i command
Matrices
Square brackets delimit literal matrices. Commas separate elements on the same row. Semicolons separate rows. Commas may be replaced by spaces, and semicolons may be replaced by one or more newlines. Elements of a matrix may be arbitrary expressions, assuming all the dimensions agree.
[ x, y, ... ] [ x; y; ... ] [ w, x; y, z ]
Multi-dimensional Arrays
Multi-dimensional arrays may be created with the cat or reshape commands from two-dimensional sub-matrices.
[]
remove singleton dimensions of the array. number of dimensions in the array. permute the dimensions of an array. array inverse permutation.
1
Permissions on back
Assignment Expressions
var = expr var (idx) = expr var (idx) = [] var assign expression to variable assign expression to indexed variable delete the indexed elements. assign elements of a cell array.
Function Handles
@func Dene a function handle to func. @(var1, ...) expr Dene an anonymous function handle. str2func (str) Create a function handle from a string. functions (handle) Return information about a function
handle.
{idx} =
expr
+ y - y * y .* y / y
addition subtraction matrix multiplication element by element multiplication right division, conceptually equivalent to
(inverse (y) * x)
x ./ y x \ y x .\ y x ^ y x .^ y - x + x x x . ++ x (-- x) x ++ (x --) element by element right division left division, conceptually equivalent to
cellfun(f, c) fieldnames(s)
inverse (x) * y
element by element left division power operator element by element power operator negation unary plus (a no-op) complex conjugate transpose transpose increment (decrement), return new value increment (decrement), return old value
Statements
for identier = expr stmt-list endfor
Execute stmt-list once for each column of expr. The variable identier is set to the value of the current column during each iteration.
Miscellaneous Functions
eval (str) error (message) warning (message) clear pattern exist (str) who, whos whos var
evaluate str as a command print message and return to top level print a warning message clear variables matching pattern check existence of variable or function list current variables details of the varibale var
! bool
if if if if if if if if if
x is less than y x is less than or equal to y x is equal to y x is greater than or equal to y x is greater than y x is not equal to y both x and y are true at least one of x or y is true bool is false
find (a) return indices of nonzero elements sort (a) order elements in each column of a sum (a) sum elements in columns of a prod (a) product of elements in columns of a min (args) nd minimum values max (args) nd maximum values rem (x, y) nd remainder of x/y reshape (a, m, n) reformat a to be m by n diag (v, k) create diagonal matrices linspace (b, l, n) create vector of linearly-spaced elements logspace (b, l, n) create vector of log-spaced elements eye (n, m) create n by m identity matrix ones (n, m) create n by m matrix of ones zeros (n, m) create n by m matrix of zeros rand (n, m) create n by m matrix of random values
Strings
strcmp (s, t) strcat (s, t, ...) regexp (str, pat) regexprep (str, pat, rep)
compare strings concatenate strings strings matching regular expression Match and replace sub-strings
Linear Algebra
chol (a) det (a) eig (a) expm (a) hess (a) inverse (a) norm (a, p) pinv (a) qr (a) rank (a) sprank (a) schur (a) svd (a) syl (a, b, c)
Cholesky factorization compute the determinant of a matrix eigenvalues and eigenvectors compute the exponential of a matrix compute Hessenberg decomposition invert a square matrix compute the p-norm of a matrix compute pseudoinverse of a compute the QR factorization of a matrix matrix rank structrual matrix rank Schur decomposition of a matrix singular value decomposition solve the Sylvester equation
Operator Precedence
Table of Octave operators, in order of increasing precedence.
statement separators assignment, groups left to right logical or and and element-wise or and and relational operators colon addition and subtraction multiplication and division transpose unary minus, increment, logical not exponentiation
Dening Functions
function [ret-list] function-name [ (arg-list) ]
function-body
endfunction
ret-list may be a single identier or a comma-separated list of identiers delimited by square-brackets. arg-list is a comma-separated list of identiers and may be empty.
Polynomials
compan (p) conv (a, b) deconv (a, b) poly (a) polyderiv (p) polyreduce (p) polyval (p, x) polyvalm (p, x) roots (p) residue (a, b)
companion matrix convolution deconvolve two vectors create polynomial from a matrix derivative of polynomial integral of polynomial value of polynomial at x value of polynomial at x polynomial roots partial fraction expansion of ratio a/b
Signal Processing
fft (a) ifft (a) freqz (args) filter (a, b, x) conv (a, b) hamming (n) hanning (n)
Fast Fourier Transform using FFTW inverse FFT using FFTW FIR lter frequency response lter by transfer function convolve two vectors return Hamming window coecents return Hanning window coecents
Statistics
corrcoef (x, y) cov (x, y) mean (a) median (a) std (a) var (a)
correlation coecient covariance mean value median value standard deviation variance
Image Processing
colormap (map) set the current colormap gray2ind (i, n) convert gray scale to Octave image image (img, zoom) display an Octave image matrix imagesc (img, zoom) display scaled matrix as image imshow (img, map) display Octave image imshow (i, n) display gray scale image imshow (r, g, b) display RGB image ind2gray (img, map) convert Octave image to gray scale ind2rgb (img, map) convert indexed image to RGB loadimage (le) load an image le rgb2ind (r, g, b) convert RGB to Octave image saveimage (le, img, fmt, map) save a matrix to le
Plotting Functions
plot (args) plot3 (args) line (args) patch (args) semilogx (args) semilogy (args) loglog (args) bar (args) stairs (x, y) stem (x, it y) hist (y, x) contour (x, y, z) title (string) axis (limits) xlabel (string) ylabel (string) zlabel (string) text (x, y, str) legend (string) grid [on|o] hold [on|o] ishold mesh (x, y, z) meshgrid (x, y)
2D plot with linear axes 3D plot with linear axes 2D or 3D line 2D patch 2D plot with logarithmic x-axis 2D plot with logarithmic y-axis 2D plot with logarithmic axes plot bar charts plot stairsteps plot a stem graph plot histograms contour plot set plot title set axis ranges set x-axis label set y-axis label set z-axis label add text to a plot set label in plot key set grid state set hold state return 1 if hold is on, 0 otherwise plot 3D surface create mesh coordinate matrices
Edition 2.0 for Octave Version 3.0.0. Copyright 1996, 2007, John W. Eaton (jwe@bevo.che.wisc.edu). The author assumes no responsibility for any errors on this card. This card may be freely distributed under the terms of the GNU General Public License. T EX Macros for this card by Roland Pesch (pesch@cygnus.com), originally for the GDB reference card Octave itself is free software; you are welcome to distribute copies of it under the terms of the GNU General Public License. There is absolutely no warranty for Octave.
A le may be referenced either by name or by the number returned from fopen. Three les are preconnected when Octave starts: stdin, stdout, and stderr.