Refcard Card Octave

Download as pdf or txt
Download as pdf or txt
You are on page 1of 3

Octave Quick Reference

Octave Version 2.9.8

Starting Octave
octave
octave file
octave --help

start interactive Octave session


run Octave on commands in file
describe command line options

Killing and Yanking

Strings and Common Escape Sequences

C-k
C-y
M-d
M-DEL
M-y

A string constant consists of a sequence of characters enclosed


in either double-quote or single-quote marks.

kill to the end of the line


yank the most recently killed text
kill to the end of the current word
kill the word behind the cursor
rotate the kill ring and yank the new top

Stopping Octave

Command Completion and History

quit or exit
INTERRUPT

TAB
M-?
RET
C-p
C-n
M-<
M->
C-r
C-s
history [-q] [N ]

exit Octave
(e.g. C-c) terminate current command and
return to top-level prompt

Getting Help
help
help command
help -i
help -i command

list all commands and built-in variables


briefly describe command
use Info to browse Octave manual
search for command in Octave manual

Motion in Info
SPC or C-v
DEL or M-v
C-l

scroll forward one screenful


scroll backward one screenful
redraw the display

Node Selection in Info


n
p
u
t
d
<
>
g
C-x k

select the next node


select the previous node
select the up node
select the top node
select the directory node
select the first node in the current file
select the last node in the current file
reads the name of a node and selects it
kills the current node

history -w [file]

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 first 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 file (~/.octave hist if no
file argument)

history -r [file]

read history from file (~/.octave hist if


no file argument)
edit history lines edit and then run previous commands
from the history list
run history lines run previous commands from the history
list
[beg ] [end ]
Specify the first 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.

Searching in Info

Shell Commands

s
C-s
C-r
i
,

cd dir
pwd
ls [options]
getenv (string)

search for a string


search forward incrementally
search backward incrementally
search index & go to corresponding node
go to next match from last i command

system (cmd)

change working directory to dir


print working directory
print directory listing
return value of named environment
variable
execute arbitrary shell command string

Command-Line Cursor Motion


C-b
C-f
C-a
C-e
M-f
M-b
C-l

move back one character


move forward one character
move the the start of the line
move to the end of the line
move forward a word
move backward a word
clear screen, reprinting current line at top

Inserting or Changing Text


M-TAB
DEL
C-d
C-v
C-t
M-t

[]

insert a tab character


delete character to the left of the cursor
delete character under the cursor
add the next character verbatim
transpose characters at the point
transpose words at the point

surround optional arguments

... show one or more arguments

Copyright 1996, 1997 John W. Eaton

Permissions on back

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, provided that all the dimensions agree.

[ x, y, ... ]
[ x; y; ... ]
[ w, x; y, z ]

enter a row vector


enter a column vector
enter a 22 matrix

\\
\"
\
\n
\t

a literal backslash
a literal double-quote character
a literal single-quote character
newline, ASCII code 10
horizontal tab, ASCII code 9

Index Expressions
var (idx)
var (idx1, idx2)
scalar
vector
range

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)

Global Variables
global var1 ...

Declare variables global.


Global variables may be accessed inside the body of a
function without having to be passed in the function
parameter list provided they are also declared global within
the function.

Selected Built-in Variables


EDITOR
Inf, NaN
LOADPATH
PAGER
ans
eps
pi
realmax
realmin

editor to use with edit history


IEEE infinity, NaN
path to search for function files
program to use to paginate output
last result not explicitly assigned
machine precision

maximum representable value


minimum representable value

automatic replot
do fortran indexing
implicit str to num ok
output max field width
output precision
page screen output
prefer column vectors
resize on range error
save precision
silent functions
warn divide by zero

automatically redraw plots


Fortran-style indexing of matrices
allow strings to become numbers
maximum numeric field width
min significant figures displayed
control whether output is paged
create column vectors by default
automatic resizing of matrices
digits stored by save command
suppress output from functions
suppress divide by zero errors

commas in literal matrix


control handling of spaces in matrices

ignore function time stamp

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.

ignore changes in function files during session

ok to lose imaginary part


allow complex to real conversion

prefer zero one indexing


if ambiguous, prefer 0-1 style indexing

Arithmetic and Increment Operators


x
x
x
x
x

+ 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

element by element right division


left division, conceptually equivalent to

x .\ y
x ^ y
x .^ y
- x
+ x
x
x .
++ x (-- x)
x ++ (x --)

element by element left division


power operator
element by element power operator
negation
unary plus (a no-op)
complex conjugate transpose
transpose
increment (decrement) x, return new value
increment (decrement) x, return old value

inverse (x) * y

Assignment Expressions
var = expr
var (idx) = expr

assign expression to variable


assign expression to indexed variable

Statements

Linear Algebra

for identifier = expr stmt-list endfor

chol (a)
det (a)
eig (a)
expm (a)
hess (a)
inverse (a)
norm (a, p)
pinv (a)
qr (a)
rank (a)
schur (a)
svd (a)
syl (a, b, c)

Execute stmt-list once for each column of expr. The variable


identifier is set to the value of the current column during
each iteration.

while (condition) stmt-list endwhile


Execute stmt-list while condition is true.

break
continue
return

exit innermost loop


go to beginning of innermost loop
return to calling function

if (condition) if-body [else else-body] endif


Execute if-body if condition is true, otherwise execute elsebody.

if (condition) if-body [elseif (condition) elseif-body] endif


Execute if-body if condition is true, otherwise execute the
elseif-body corresponding to the first elseif condition that
is true, otherwise execute else-body.
Any number of elseif clauses may appear in an if
statement.

unwind protect body unwind protect cleanup cleanup end

Comparison and Boolean Operators


These operators work on an element-by-element basis. Both
arguments are always evaluated.
x
x
x
x
x
x
x
x

< y
<= y
== y
>= y
> y
!= y
& y
| y

! bool

true
true
true
true
true
true
true
true
true

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

Short-circuit Boolean Operators


Operators evaluate left-to-right, expecting scalar operands.
Operands are only evaluated if necessary, stopping once overall
truth value can be determined. Operands are converted to
scalars by applying the all function.
x && y
x || y

true if both x and y are true


true if at least one of x or y is true

Operator Precedence
Here is a table of the operators in Octave, 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

Execute body. Execute cleanup no matter how control exits


body.

Defining Functions
function [ret-list] function-name [ (arg-list) ]
function-body

endfunction
ret-list may be a single identifier or a comma-separated list of
identifiers delimited by square-brackets.
arg-list is a comma-separated list of identifiers and may be
empty.

Basic Matrix Manipulations


rows (a)
columns (a)
all (a)
any (a)
find (a)
sort (a)
sum (a)
prod (a)
min (args)
max (args)
rem (x, y)
reshape (a, m, n)

return number of rows of a


return number of columns of a
check if all elements of a nonzero
check if any elements of a nonzero
return indices of nonzero elements
order elements in each column of a
sum elements in columns of a
product of elements in columns of a
find minimum values
find maximum values
find remainder of x/y
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

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
Schur decomposition of a matrix
singular value decomposition
solve the Sylvester equation

Equations, ODEs, DAEs, Quadrature


*fsolve
*lsode
*dassl
*quad

solve nonlinear algebraic equations


integrate nonlinear ODEs
integrate nonlinear DAEs
integrate nonlinear functions

perror (nm, code) for functions that return numeric codes,


print error message for named function
and given error code
* See the on-line or printed manual for the complete list of
arguments for these functions.

Signal Processing
fft (a)
ifft (a)
freqz (args)
sinc (x)

Fast Fourier Transform using FFTPACK


inverse FFT using FFTPACK
FIR filter frequency response
returns sin ( x)/( x)

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 (file)
load an image file
rgb2ind (r, g, b)
convert RGB to Octave image
saveimage (file, img, fmt, map) save a matrix to file

Sets
create set (a, b)
complement (a, b)
intersection (a, b)
union (a, b)

create row vector of unique values


elements of b not in a
intersection of sets a and b
union of sets a and b

Strings
strcmp (s, t)
strcat (s, t, ...)

compare strings
concatenate strings

C-style Input and Output


fopen (name, mode)
fclose (file)
printf (fmt, ...)
fprintf (file, fmt, ...)
sprintf (fmt, ...)
scanf (fmt)
fscanf (file, fmt)
sscanf (str, fmt)
fgets (file, len)
fflush (file)
ftell (file)
frewind (file)
freport
fread (file, size, prec)
fwrite (file, size, prec)
feof (file)

open file name


close file
formatted output to stdout
formatted output to file
formatted output to string
formatted input from stdin
formatted input from file
formatted input from string
read len characters from file
flush pending output to file
return file pointer position
move file pointer to beginning
print a info for open files
read binary data files
write binary data files
determine if pointer is at EOF

A file may be referenced either by name or by the number


returned from fopen. Three files are preconnected when Octave
starts: stdin, stdout, and stderr.

Other Input and Output functions


save file var ...
load file
disp (var)

save variables in file


load variables from file
display value of var to screen

Miscellaneous Functions
eval (str)
feval (str, ...)

evaluate str as a command


evaluate function named by str, passing
remaining args to called function

error (message)

print message and return to top level

clear pattern
exist (str)
who

clear variables matching pattern


check existence of variable or function
list current variables

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

Statistics
corrcoef (x, y)
cov (x, y)
mean (a)
median (a)
std (a)
var (a)

correlation coefficient
covariance
mean value
median value
standard deviation
variance

Basic Plotting
gplot [ranges] expr [using] [title] [style]
gsplot [ranges] expr [using] [title] [style]
ranges
expr
using
title
style

2D plotting
3D plotting

specify data ranges


expression to plot
specify columns to plot
specify line title for legend
specify line style

If ranges are supplied, they must come before the expression


to plot. The using, title, and style options may appear in any
order after expr . Multiple expressions may be plotted with a
single command by separating them with commas.

set options
show options
replot
closeplot
purge tmp files
automatic replot

set plotting options


show plotting options
redisplay current plot
close stream to gnuplot process
clean up temporary plotting files
built-in variable

Other Plotting Functions


plot (args)
semilogx (args)
semilogy (args)
loglog (args)
bar (args)
stairs (x, y)
hist (y, x)

2D plot with linear axes


2D plot with logarithmic x-axis
2D plot with logarithmic y-axis
2D plot with logarithmic axes
plot bar charts
plot stairsteps
plot histograms

title (string)

set plot title

axis (limits)
xlabel (string)
ylabel (string)
grid [on|off]

set axis ranges


set x-axis label
set y-axis label

hold [on|off]
ishold

set hold state


return 1 if hold is on, 0 otherwise

mesh (x, y, z)
meshdom (x, y)

plot 3D surface
create mesh coordinate matrices

set grid state

Edition 1.1for Octave Version 2.9.8. Copyright 1996, John W. Eaton


([email protected]). 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.
TEX Macros for this card by Roland Pesch ([email protected]),
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.

You might also like