100% found this document useful (1 vote)
289 views

Matlab Python Cheatsheet Formulae PDF

Matlab Python Cheatsheet Formulae
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
289 views

Matlab Python Cheatsheet Formulae PDF

Matlab Python Cheatsheet Formulae
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 17

MATLAB commands in numerical Python (NumPy) 1

Vidar Bronken Gundersen /mathesaurus.sf.net


MATLAB commands in numerical Python (NumPy)
Copyright c zooo Vidar Bronken Gundersen
Permission is granted to copy, distribute and/or modify this document as long as the above attribution is kept and the resulting work is distributed under a license identical to this one.
The idea of this document (and the corresponding xml instance) is to provide a quick reference

for switching from matlab


to an open-source environment, such as Python, Scilab, Octave and Gnuplot, or R for numeric processing and data visualisation.
Where Octave and Scilab commands are omitted, expect Matlab compatibility, and similarly where non given use the generic command.
Time-stamp: zoo-ii-ogTio:o:o vidar
1 Help
Desc. matlab/Octave Python R
Browse help interactively doc
Octave: help -i % browse with Info
help() help.start()
Help on using help help help or doc doc help help()
Help for a function help plot help(plot) or ?plot help(plot) or ?plot
Help for a toolbox/library package help splines or doc splines help(pylab) help(package=splines)
Demonstration examples demo demo()
Example using a function example(plot)
1.1 Searching available documentation
Desc. matlab/Octave Python R
Search help les lookfor plot help.search(plot)
Find objects by partial name apropos(plot)
List available packages help help(); modules [Numeric] library()
Locate functions which plot help(plot) find(plot)
List available methods for a function methods(plot)
1.2 Using interactively
Desc. matlab/Octave Python R
Start session Octave: octave -q ipython -pylab Rgui
Auto completion Octave: TAB or M-? TAB
Run code from le foo(.m) execfile(foo.py) or run foo.py source(foo.R)
Command history Octave: history hist -n history()
Save command history diary on [..] diary off savehistory(file=".Rhistory")
End session exit or quit CTRL-D
CTRL-Z # windows
sys.exit()
q(save=no)
2 Operators
Desc. matlab/Octave Python R
Help on operator syntax help - help(Syntax)

References: Hankin, Robin. R for Octave users (zooi), available from http://cran.r-project.org/doc/contrib/R-and-octave-z.txt (accessed zoo.o.z); Martelli, Alex. Python in a Nutshell (OReilly, zoo);
Oliphant, Travis. Guide to NumPy (Trelgol, zooo); Hunter, John. The Matplotlib Users Guide (zoo), available from http://matplotlib.sf.net/ (accessed zoo.o.i); Langtangen, Hans Petter. Python
Scripting for Computational Science (Springer, zoo); Ascher et al.: Numeric Python manual (zooi), available from http://numeric.scipy.org/numpy.pdf (accessed zoo.oo.z); Moler, Cleve. Numerical
Computing with MATLAB (MathWorks, zoo), available from http://www.mathworks.com/moler/ (accessed zoo.o.io); Eaton, John W. Octave Quick Reference (iggo); Merrit, Ethan. Demo scripts for
gnuplot version 4.0 (zoo), available from http://gnuplot.sourceforge.net/demo/ (accessed zoo.o.z); Woo, Alex. Gnuplot Quick Reference (zoo), available from http://www.gnuplot.info/docs/gpcard.pdf
(accessed zoo.o.i); Venables & Smith: An Introduction to R (zoo), available from http://cran.r-project.org/doc/manuals/R-intro.pdf (accessed zoo.o.z); Short, Tom. R reference card (zoo), available
from http://www.rpad.org/Rpad/R-refcard.pdf (accessed zoo.o.z).
MATLAB commands in numerical Python (NumPy) 2
Vidar Bronken Gundersen /mathesaurus.sf.net
2.1 Arithmetic operators
Desc. matlab/Octave Python R
Assignment; dening a number a=1; b=2; a=1; b=1 a<-1; b<-2
Addition a + b a + b or add(a,b) a + b
Subtraction a - b a - b or subtract(a,b) a - b
Multiplication a * b a * b or multiply(a,b) a * b
Division a / b a / b or divide(a,b) a / b
Power, o
b
a .^ b a ** b
power(a,b)
pow(a,b)
a ^ b
Remainder rem(a,b) a % b
remainder(a,b)
fmod(a,b)
a %% b
Integer division a %/% b
In place operation to save array creation
overhead
Octave: a+=1 a+=b or add(a,b,a)
Factorial, n! factorial(a) factorial(a)
2.2 Relational operators
Desc. matlab/Octave Python R
Equal a == b a == b or equal(a,b) a == b
Less than a < b a < b or less(a,b) a < b
Greater than a > b a > b or greater(a,b) a > b
Less than or equal a <= b a <= b or less_equal(a,b) a <= b
Greater than or equal a >= b a >= b or greater_equal(a,b) a >= b
Not Equal a ~= b a != b or not_equal(a,b) a != b
2.3 Logical operators
Desc. matlab/Octave Python R
Short-circuit logical AND a && b a and b a && b
Short-circuit logical OR a || b a or b a || b
Element-wise logical AND a & b or and(a,b) logical_and(a,b) or a and b a & b
Element-wise logical OR a | b or or(a,b) logical_or(a,b) or a or b a | b
Logical EXCLUSIVE OR xor(a, b) logical_xor(a,b) xor(a, b)
Logical NOT ~a or not(a)
Octave: ~a or !a
logical_not(a) or not a !a
True if any element is nonzero any(a)
True if all elements are nonzero all(a)
2.4 root and logarithm
Desc. matlab/Octave Python R
Square root sqrt(a) math.sqrt(a) sqrt(a)

o
Logarithm, base c (natural) log(a) math.log(a) log(a) ln o = log
e
o
Logarithm, base io log10(a) math.log10(a) log10(a) log
10
o
Logarithm, base z (binary) log2(a) math.log(a, 2) log2(a) log
2
o
Exponential function exp(a) math.exp(a) exp(a) c
a
MATLAB commands in numerical Python (NumPy) 3
Vidar Bronken Gundersen /mathesaurus.sf.net
2.5 Round o
Desc. matlab/Octave Python R
Round round(a) around(a) or math.round(a) round(a)
Round up ceil(a) ceil(a) ceil(a)
Round down floor(a) floor(a) floor(a)
Round towards zero fix(a) fix(a)
2.6 Mathematical constants
Desc. matlab/Octave Python R
= 3.141592 pi math.pi pi
c = 2.718281 exp(1) math.e or math.exp(1) exp(1)
2.6.1 Missing values; IEEE-754 oating point status ags
Desc. matlab/Octave Python R
Not a Number NaN nan
Innity, Inf inf
Innity, + plus_inf
Innity, minus_inf
Plus zero, +0 plus_zero
Minus zero, 0 minus_zero
2.7 Complex numbers
Desc. matlab/Octave Python R
Imaginary unit i z = 1j 1i . =

1
A complex number, 3 + 4. z = 3+4i z = 3+4j or z = complex(3,4) z <- 3+4i
Absolute value (modulus) abs(z) abs(3+4j) abs(3+4i) or Mod(3+4i)
Real part real(z) z.real Re(3+4i)
Imaginary part imag(z) z.imag Im(3+4i)
Argument arg(z) Arg(3+4i)
Complex conjugate conj(z) z.conj(); z.conjugate() Conj(3+4i)
2.8 Trigonometry
Desc. matlab/Octave Python R
Arctangent, arctan(bo) atan(a,b) atan2(b,a) atan2(b,a)
Hypotenus; Euclidean distance hypot(x,y)
_
i
2
+
2
2.9 Generate random numbers
Desc. matlab/Octave Python R
Uniform distribution rand(1,10) random.random((10,))
random.uniform((10,))
runif(10)
Uniform: Numbers between z and 2+5*rand(1,10) random.uniform(2,7,(10,)) runif(10, min=2, max=7)
Uniform: o,o array rand(6) random.uniform(0,1,(6,6)) matrix(runif(36),6)
Normal distribution randn(1,10) random.standard_normal((10,)) rnorm(10)
MATLAB commands in numerical Python (NumPy) 4
Vidar Bronken Gundersen /mathesaurus.sf.net
3 Vectors
Desc. matlab/Octave Python R
Row vector, 1 n-matrix a=[2 3 4 5]; a=array([2,3,4,5]) a <- c(2,3,4,5)
Column vector, n1-matrix adash=[2 3 4 5]; array([2,3,4,5])[:,NewAxis]
array([2,3,4,5]).reshape(-1,1)
r_[1:10,c]
adash <- t(c(2,3,4,5))
3.1 Sequences
Desc. matlab/Octave Python R
i,z,, ... ,io 1:10 arange(1,11, dtype=Float)
range(1,11)
seq(10) or 1:10
o.o,i.o,z.o, ... ,g.o 0:9 arange(10.) seq(0,length=10)
i,,,io 1:3:10 arange(1,11,3) seq(1,10,by=3)
io,g,S, ... ,i 10:-1:1 arange(10,0,-1) seq(10,1) or 10:1
io,,,i 10:-3:1 arange(10,0,-3) seq(from=10,to=1,by=-3)
Linearly spaced vector of n= points linspace(1,10,7) linspace(1,10,7) seq(1,10,length=7)
Reverse reverse(a) a[::-1] or rev(a)
Set all values to same scalar value a(:) = 3 a.fill(3), a[:] = 3
3.2 Concatenation (vectors)
Desc. matlab/Octave Python R
Concatenate two vectors [a a] concatenate((a,a)) c(a,a)
[1:4 a] concatenate((range(1,5),a), axis=1) c(1:4,a)
3.3 Repeating
Desc. matlab/Octave Python R
i z , i z [a a] concatenate((a,a)) rep(a,times=2)
i i i, z z z, a.repeat(3) or rep(a,each=3)
i, z z, a.repeat(a) or rep(a,a)
3.4 Miss those elements out
Desc. matlab/Octave Python R
miss the rst element a(2:end) a[1:] a[-1]
miss the tenth element a([1:9]) a[-10]
miss i,,, ... a[-seq(1,50,3)]
last element a(end) a[-1]
last two elements a(end-1:end) a[-2:]
3.5 Maximum and minimum
Desc. matlab/Octave Python R
pairwise max max(a,b) maximum(a,b) pmax(a,b)
max of all values in two vectors max([a b]) concatenate((a,b)).max() max(a,b)
[v,i] = max(a) v,i = a.max(0),a.argmax(0) v <- max(a) ; i <- which.max(a)
MATLAB commands in numerical Python (NumPy) 5
Vidar Bronken Gundersen /mathesaurus.sf.net
3.6 Vector multiplication
Desc. matlab/Octave Python R
Multiply two vectors a.*a a*a a*a
Vector dot product, u u dot(u,v) dot(u,v)
4 Matrices
Desc. matlab/Octave Python R
Dene a matrix a = [2 3;4 5] a = array([[2,3],[4,5]]) rbind(c(2,3),c(4,5))
array(c(2,3,4,5), dim=c(2,2))
_
2 3
4 5
_
4.1 Concatenation (matrices); rbind and cbind
Desc. matlab/Octave Python R
Bind rows [a ; b] concatenate((a,b), axis=0)
vstack((a,b))
rbind(a,b)
Bind columns [a , b] concatenate((a,b), axis=1)
hstack((a,b))
cbind(a,b)
Bind slices (three-way arrays) concatenate((a,b), axis=2)
dstack((a,b))
Concatenate matrices into one vector [a(:), b(:)] concatenate((a,b), axis=None)
Bind rows (from vectors) [1:4 ; 1:4] concatenate((r_[1:5],r_[1:5])).reshape(2,-1)
vstack((r_[1:5],r_[1:5]))
rbind(1:4,1:4)
Bind columns (from vectors) [1:4 ; 1:4] cbind(1:4,1:4)
4.2 Array creation
Desc. matlab/Octave Python R
o lled array zeros(3,5) zeros((3,5),Float) matrix(0,3,5) or array(0,c(3,5))
_
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
_
o lled array of integers zeros((3,5))
i lled array ones(3,5) ones((3,5),Float) matrix(1,3,5) or array(1,c(3,5))
_
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
_
Any number lled array ones(3,5)*9 matrix(9,3,5) or array(9,c(3,5))
_
9 9 9 9 9
9 9 9 9 9
9 9 9 9 9
_
Identity matrix eye(3) identity(3) diag(1,3)
_
1 0 0
0 1 0
0 0 1
_
Diagonal diag([4 5 6]) diag((4,5,6)) diag(c(4,5,6))
_
4 0 0
0 5 0
0 0 6
_
Magic squares; Lo Shu magic(3)
_
8 1 6
3 5 7
4 9 2
_
Empty array a = empty((3,3))
MATLAB commands in numerical Python (NumPy) 6
Vidar Bronken Gundersen /mathesaurus.sf.net
4.3 Reshape and atten matrices
Desc. matlab/Octave Python R
Reshaping (rows rst) reshape(1:6,3,2); arange(1,7).reshape(2,-1)
a.setshape(2,3)
matrix(1:6,nrow=3,byrow=T)
_
1 2 3
4 5 6
_
Reshaping (columns rst) reshape(1:6,2,3); arange(1,7).reshape(-1,2).transpose() matrix(1:6,nrow=2)
array(1:6,c(2,3))
_
1 3 5
2 4 6
_
Flatten to vector (by rows, like comics) a(:) a.flatten() or as.vector(t(a))
_
1 2 3 4 5 6

Flatten to vector (by columns) a(:) a.flatten(1) as.vector(a)


_
1 4 2 5 3 6

Flatten upper triangle (by columns) vech(a) a[row(a) <= col(a)]


4.4 Shared data (slicing)
Desc. matlab/Octave Python R
Copy of a b = a b = a.copy() b = a
4.5 Indexing and accessing elements (Python: slicing)
Desc. matlab/Octave Python R
Input is a , array a = [ 11 12 13 14 ...
21 22 23 24 ...
31 32 33 34 ]
a = array([[ 11, 12, 13, 14 ],
[ 21, 22, 23, 24 ],
[ 31, 32, 33, 34 ]])
a <- rbind(c(11, 12, 13, 14),
c(21, 22, 23, 24),
c(31, 32, 33, 34))
_
o11 o12 o13 o14
o21 o22 o23 o24
o31 o32 o33 o34
_
Element z, (row,col) a(2,3) a[1,2] a[2,3] o23
First row a(1,:) a[0,] a[1,]
_
o11 o12 o13 o14

First column a(:,1) a[:,0] a[,1]


_
o11
o21
o31
_
Array as indices a([1 3],[1 4]); a.take([0,2]).take([0,3], axis=1)
_
o11 o14
o31 o34
_
All, except rst row a(2:end,:) a[1:,] a[-1,]
_
o21 o22 o23 o24
o31 o32 o33 o34
_
Last two rows a(end-1:end,:) a[-2:,]
_
o21 o22 o23 o24
o31 o32 o33 o34
_
Strides: Every other row a(1:2:end,:) a[::2,:]
_
o11 o12 o13 o14
o31 o32 o33 o34
_
Third in last dimension (axis) a[...,2]
All, except row,column (z,) a[-2,-3]
_
o11 o13 o14
o31 o33 o34
_
Remove one column a(:,[1 3 4]) a.take([0,2,3],axis=1) a[,-2]
_
o11 o13 o14
o21 o23 o24
o31 o33 o34
_
Diagonal a.diagonal(offset=0)
_
o11 o22 o33 o44

MATLAB commands in numerical Python (NumPy) 7


Vidar Bronken Gundersen /mathesaurus.sf.net
4.6 Assignment
Desc. matlab/Octave Python R
a(:,1) = 99 a[:,0] = 99 a[,1] <- 99
a(:,1) = [99 98 97] a[:,0] = array([99,98,97]) a[,1] <- c(99,98,97)
Clipping: Replace all elements over go a(a>90) = 90; (a>90).choose(a,90)
a.clip(min=None, max=90)
a[a>90] <- 90
Clip upper and lower values a.clip(min=2, max=5)
4.7 Transpose and inverse
Desc. matlab/Octave Python R
Transpose a a.conj().transpose() t(a)
Non-conjugate transpose a. or transpose(a) a.transpose()
Determinant det(a) linalg.det(a) or det(a)
Inverse inv(a) linalg.inv(a) or solve(a)
Pseudo-inverse pinv(a) linalg.pinv(a) ginv(a)
Norms norm(a) norm(a)
Eigenvalues eig(a) linalg.eig(a)[0] eigen(a)$values
Singular values svd(a) linalg.svd(a) svd(a)$d
Cholesky factorization chol(a) linalg.cholesky(a)
Eigenvectors [v,l] = eig(a) linalg.eig(a)[1] eigen(a)$vectors
Rank rank(a) rank(a) rank(a)
4.8 Sum
Desc. matlab/Octave Python R
Sum of each column sum(a) a.sum(axis=0) apply(a,2,sum)
Sum of each row sum(a) a.sum(axis=1) apply(a,1,sum)
Sum of all elements sum(sum(a)) a.sum() sum(a)
Sum along diagonal a.trace(offset=0)
Cumulative sum (columns) cumsum(a) a.cumsum(axis=0) apply(a,2,cumsum)
MATLAB commands in numerical Python (NumPy) 8
Vidar Bronken Gundersen /mathesaurus.sf.net
4.9 Sorting
Desc. matlab/Octave Python R
Example data a = [ 4 3 2 ; 2 8 6 ; 1 4 7 ] a = array([[4,3,2],[2,8,6],[1,4,7]])
_
4 3 2
2 8 6
1 4 7
_
Flat and sorted sort(a(:)) a.ravel().sort() or t(sort(a))
_
1 2 2
3 4 4
6 7 8
_
Sort each column sort(a) a.sort(axis=0) or msort(a) apply(a,2,sort)
_
1 3 2
2 4 6
4 8 7
_
Sort each row sort(a) a.sort(axis=1) t(apply(a,1,sort))
_
2 3 4
2 6 8
1 4 7
_
Sort rows (by rst row) sortrows(a,1) a[a[:,0].argsort(),]
_
1 4 7
2 8 6
4 3 2
_
Sort, return indices a.ravel().argsort() order(a)
Sort each column, return indices a.argsort(axis=0)
Sort each row, return indices a.argsort(axis=1)
4.10 Maximum and minimum
Desc. matlab/Octave Python R
max in each column max(a) a.max(0) or amax(a [,axis=0]) apply(a,2,max)
max in each row max(a) a.max(1) or amax(a, axis=1) apply(a,1,max)
max in array max(max(a)) a.max() or max(a)
return indices, i [v i] = max(a) i <- apply(a,1,which.max)
pairwise max max(b,c) maximum(b,c) pmax(b,c)
cummax(a) apply(a,2,cummax)
max-to-min range a.ptp(); a.ptp(0)
4.11 Matrix manipulation
Desc. matlab/Octave Python R
Flip left-right fliplr(a) fliplr(a) or a[:,::-1] a[,4:1]
Flip up-down flipud(a) flipud(a) or a[::-1,] a[3:1,]
Rotate go degrees rot90(a) rot90(a)
Repeat matrix: [ a a a ; a a a ] repmat(a,2,3)
Octave: kron(ones(2,3),a)
kron(ones((2,3)),a) kronecker(matrix(1,2,3),a)
Triangular, upper triu(a) triu(a) a[lower.tri(a)] <- 0
Triangular, lower tril(a) tril(a) a[upper.tri(a)] <- 0
4.12 Equivalents to size
Desc. matlab/Octave Python R
Matrix dimensions size(a) a.shape or a.getshape() dim(a)
Number of columns size(a,2) or length(a) a.shape[1] or size(a, axis=1) ncol(a)
Number of elements length(a(:)) a.size or size(a[, axis=None]) prod(dim(a))
Number of dimensions ndims(a) a.ndim
Number of bytes used in memory a.nbytes object.size(a)
MATLAB commands in numerical Python (NumPy) 9
Vidar Bronken Gundersen /mathesaurus.sf.net
4.13 Matrix- and elementwise- multiplication
Desc. matlab/Octave Python R
Elementwise operations a .* b a * b or multiply(a,b) a * b
_
1 5
9 16
_
Matrix product (dot product) a * b matrixmultiply(a,b) a %*% b
_
7 10
15 22
_
Inner matrix vector multiplication o b

inner(a,b) or
_
5 11
11 25
_
Outer product outer(a,b) or outer(a,b) or a %o% b
_
1 2 3 4
2 4 6 8
3 6 9 12
4 8 12 16
_
Cross product crossprod(a,b) or t(a) %*% b
_
10 14
14 20
_
Kronecker product kron(a,b) kron(a,b) kronecker(a,b)
_
1 2 2 4
3 4 6 8
3 6 4 8
9 12 12 16
_
Matrix division, bo
1
a / b
Left matrix division, b
1
o
(solve linear equations)
a \ b linalg.solve(a,b) solve(a,b) .i = b
Vector dot product vdot(a,b)
Cross product cross(a,b)
4.14 Find; conditional indexing
Desc. matlab/Octave Python R
Non-zero elements, indices find(a) a.ravel().nonzero() which(a != 0)
Non-zero elements, array indices [i j] = find(a) (i,j) = a.nonzero()
(i,j) = where(a!=0)
which(a != 0, arr.ind=T)
Vector of non-zero values [i j v] = find(a) v = a.compress((a!=0).flat)
v = extract(a!=0,a)
ij <- which(a != 0, arr.ind=T); v <- a[ij]
Condition, indices find(a>5.5) (a>5.5).nonzero() which(a>5.5)
Return values a.compress((a>5.5).flat) ij <- which(a>5.5, arr.ind=T); v <- a[ij]
Zero out elements above . a .* (a>5.5) where(a>5.5,0,a) or a * (a>5.5)
Replace values a.put(2,indices)
5 Multi-way arrays
Desc. matlab/Octave Python R
Dene a -way array a = cat(3, [1 2; 1 2],[3 4; 3 4]); a = array([[[1,2],[1,2]], [[3,4],[3,4]]])
a(1,:,:) a[0,...]
MATLAB commands in numerical Python (NumPy) 10
Vidar Bronken Gundersen /mathesaurus.sf.net
6 File input and output
Desc. matlab/Octave Python R
Reading from a le (zd) f = load(data.txt) f = fromfile("data.txt")
f = load("data.txt")
f <- read.table("data.txt")
Reading from a le (zd) f = load(data.txt) f = load("data.txt") f <- read.table("data.txt")
Reading fram a CSV le (zd) x = dlmread(data.csv, ;) f = load(data.csv, delimiter=;) f <- read.table(file="data.csv", sep=";")
Writing to a le (zd) save -ascii data.txt f save(data.csv, f, fmt=%.6f, delimiter=;) write(f,file="data.txt")
Writing to a le (id) f.tofile(file=data.csv, format=%.6f, sep=;)
Reading from a le (id) f = fromfile(file=data.csv, sep=;)
7 Plotting
7.1 Basic x-y plots
Desc. matlab/Octave Python R
id line plot plot(a) plot(a) plot(a, type="l")
0 20 40 60 80 100
-4
-3
-2
-1
0
1
2
3
4
zd scatter plot plot(x(:,1),x(:,2),o) plot(x[:,0],x[:,1],o) plot(x[,1],x[,2])
4.0 4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0
2.0
2.5
3.0
3.5
4.0
4.5
Two graphs in one plot plot(x1,y1, x2,y2) plot(x1,y1,bo, x2,y2,go)
4.0 4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0
1
2
3
4
5
6
7
Overplotting: Add new plots to current plot(x1,y1)
hold on
plot(x2,y2)
plot(x1,y1,o)
plot(x2,y2,o)
show() # as normal
plot(x1,y1)
matplot(x2,y2,add=T)
subplots subplot(211) subplot(211)
Plotting symbols and color plot(x,y,ro-) plot(x,y,ro-) plot(x,y,type="b",col="red")
MATLAB commands in numerical Python (NumPy) 11
Vidar Bronken Gundersen /mathesaurus.sf.net
7.1.1 Axes and titles
Desc. matlab/Octave Python R
Turn on grid lines grid on grid() grid()
i:i aspect ratio axis equal
Octave:
axis(equal)
replot
figure(figsize=(6,6)) plot(c(1:10,10:1), asp=1)
Set axes manually axis([ 0 10 0 5 ]) axis([ 0, 10, 0, 5 ]) plot(x,y, xlim=c(0,10), ylim=c(0,5))
Axis labels and titles title(title)
xlabel(x-axis)
ylabel(y-axis)
plot(1:10, main="title",
xlab="x-axis", ylab="y-axis")
Insert text text(2,25,hello)
7.1.2 Log plots
Desc. matlab/Octave Python R
logarithmic y-axis semilogy(a) semilogy(a) plot(x,y, log="y")
logarithmic x-axis semilogx(a) semilogx(a) plot(x,y, log="x")
logarithmic x and y axes loglog(a) loglog(a) plot(x,y, log="xy")
7.1.3 Filled plots and bar plots
Desc. matlab/Octave Python R
Filled plot fill(t,s,b, t,c,g)
Octave: % fill has a bug?
fill(t,s,b, t,c,g, alpha=0.2) plot(t,s, type="n", xlab="", ylab="")
polygon(t,s, col="lightblue")
polygon(t,c, col="lightgreen")
Stem-and-Leaf plot stem(x[,3])
5 5
6 71
7 033
8 00113345567889
9 0133566677788
10 32674
7.1.4 Functions
Desc. matlab/Octave Python R
Dening functions f = inline(sin(x/3) - cos(x/5)) f <- function(x) sin(x/3) - cos(x/5) }(i) = sin
_
x
3
_
cos
_
x
5
_
Plot a function for given range ezplot(f,[0,40])
fplot(sin(x/3) - cos(x/5),[0,40])
Octave: % no ezplot
x = arrayrange(0,40,.5)
y = sin(x/3) - cos(x/5)
plot(x,y, o)
plot(f, xlim=c(0,40), type=p)
0 10 20 30 40
2.0
1.5
1.0
0.5
0.0
0.5
1.0
x
f (x)
MATLAB commands in numerical Python (NumPy) 12
Vidar Bronken Gundersen /mathesaurus.sf.net
7.2 Polar plots
Desc. matlab/Octave Python R
theta = 0:.001:2*pi;
r = sin(2*theta);
theta = arange(0,2*pi,0.001)
r = sin(2*theta)
() = sin(2)
polar(theta, rho) polar(theta, rho)
0
45
90
135
180
225
270
315
7.3 Histogram plots
Desc. matlab/Octave Python R
hist(randn(1000,1)) hist(rnorm(1000))
hist(randn(1000,1), -4:4) hist(rnorm(1000), breaks= -4:4)
hist(rnorm(1000), breaks=c(seq(-5,0,0.25), seq(0.5,5,0.5)), freq=F)
plot(sort(a)) plot(apply(a,1,sort),type="l")
MATLAB commands in numerical Python (NumPy) 13
Vidar Bronken Gundersen /mathesaurus.sf.net
7.4 3d data
7.4.1 Contour and image plots
Desc. matlab/Octave Python R
Contour plot contour(z) levels, colls = contour(Z, V,
origin=lower, extent=(-3,3,-3,3))
clabel(colls, levels, inline=1,
fmt=%1.1f, fontsize=10)
contour(z)
-2 -1 0 1 2
-2
-1
0
1
2
-0.6
-0.4
-0.2
-0.2
0.0
0.2
0.4 0.6 0.6
0.8
0.8 1.0
Filled contour plot contourf(z); colormap(gray) contourf(Z, V,
cmap=cm.gray,
origin=lower,
extent=(-3,3,-3,3))
filled.contour(x,y,z,
nlevels=7, color=gray.colors)
-2 -1 0 1 2
-2
-1
0
1
2
Plot image data image(z)
colormap(gray)
im = imshow(Z,
interpolation=bilinear,
origin=lower,
extent=(-3,3,-3,3))
image(z, col=gray.colors(256))
Image with contours # imshow() and contour() as above
-2 -1 0 1 2
-2
-1
0
1
2
-0.6
-0.4
-0.2
-0.2
0.0
0.2
0.4 0.6 0.6
0.8
0.8 1.0
Direction eld vectors quiver() quiver()
MATLAB commands in numerical Python (NumPy) 14
Vidar Bronken Gundersen /mathesaurus.sf.net
7.4.2 Perspective plots of surfaces over the x-y plane
Desc. matlab/Octave Python R
n=-2:.1:2;
[x,y] = meshgrid(n,n);
z=x.*exp(-x.^2-y.^2);
n=arrayrange(-2,2,.1)
[x,y] = meshgrid(n,n)
z = x*power(math.e,-x**2-y**2)
f <- function(x,y) x*exp(-x^2-y^2)
n <- seq(-2,2, length=40)
z <- outer(n,n,f)
}(i, ) = ic
x
2
y
2
Mesh plot mesh(z) persp(x,y,z,
theta=30, phi=30, expand=0.6,
ticktype=detailed)
x
2
1
0
1
2
y
2
1
0
1
2
z
0.4
0.2
0.0
0.2
0.4
Surface plot surf(x,y,z) or surfl(x,y,z)
Octave: % no surfl()
persp(x,y,z,
theta=30, phi=30, expand=0.6,
col=lightblue, shade=0.75, ltheta=120,
ticktype=detailed)
x
2
1
0
1
2
y
2
1
0
1
2
z
0.4
0.2
0.0
0.2
0.4
7.4.3 Scatter (cloud) plots
Desc. matlab/Octave Python R
d scatter plot plot3(x,y,z,k+) cloud(z~x*y)
0
10
20
30
40
50
60
70
80
90
100
-60
-40
-20
0
20
40
60
80
-80
-60
-40
-20
0
20
40
60
80
icc-gamut.csv
MATLAB commands in numerical Python (NumPy) 15
Vidar Bronken Gundersen /mathesaurus.sf.net
7.5 Save plot to a graphics le
Desc. matlab/Octave Python R
PostScript plot(1:10)
print -depsc2 foo.eps
Octave:
gset output "foo.eps"
gset terminal postscript eps
plot(1:10)
savefig(foo.eps) postscript(file="foo.eps")
plot(1:10)
dev.off()
PDF savefig(foo.pdf) pdf(file=foo.pdf)
SVG (vector graphics for www) savefig(foo.svg) devSVG(file=foo.svg)
PNG (raster graphics) print -dpng foo.png savefig(foo.png) png(filename = "Rplot%03d.png"
8 Data analysis
8.1 Set membership operators
Desc. matlab/Octave Python R
Create sets a = [ 1 2 2 5 2 ];
b = [ 2 3 4 ];
a = array([1,2,2,5,2])
b = array([2,3,4])
a = set([1,2,2,5,2])
b = set([2,3,4])
a <- c(1,2,2,5,2)
b <- c(2,3,4)
Set unique unique(a) unique1d(a)
unique(a)
set(a)
unique(a)
_
1 2 5

Set union union(a,b) union1d(a,b)


a.union(b)
union(a,b)
Set intersection intersect(a,b) intersect1d(a)
a.intersection(b)
intersect(a,b)
Set dierence setdiff(a,b) setdiff1d(a,b)
a.difference(b)
setdiff(a,b)
Set exclusion setxor(a,b) setxor1d(a,b)
a.symmetric_difference(b)
setdiff(union(a,b),intersect(a,b))
True for set member ismember(2,a) 2 in a
setmember1d(2,a)
contains(a,2)
is.element(2,a) or 2 %in% a
MATLAB commands in numerical Python (NumPy) 16
Vidar Bronken Gundersen /mathesaurus.sf.net
8.2 Statistics
Desc. matlab/Octave Python R
Average mean(a) a.mean(axis=0)
mean(a [,axis=0])
apply(a,2,mean)
Median median(a) median(a) or median(a [,axis=0]) apply(a,2,median)
Standard deviation std(a) a.std(axis=0) or std(a [,axis=0]) apply(a,2,sd)
Variance var(a) a.var(axis=0) or var(a) apply(a,2,var)
Correlation coecient corr(x,y) correlate(x,y) or corrcoef(x,y) cor(x,y)
Covariance cov(x,y) cov(x,y) cov(x,y)
8.3 Interpolation and regression
Desc. matlab/Octave Python R
Straight line t z = polyval(polyfit(x,y,1),x)
plot(x,y,o, x,z ,-)
(a,b) = polyfit(x,y,1)
plot(x,y,o, x,a*x+b,-)
z <- lm(y~x)
plot(x,y)
abline(z)
Linear least squares = oi + b a = x\y linalg.lstsq(x,y) solve(a,b)
Polynomial t polyfit(x,y,3) polyfit(x,y,3)
8.4 Non-linear methods
8.4.1 Polynomials, root nding
Desc. matlab/Octave Python R
Polynomial poly()
Find zeros of polynomial roots([1 -1 -1]) roots() polyroot(c(1,-1,-1)) i
2
i 1 = 0
Find a zero near i = 1 f = inline(1/x - (x-1))
fzero(f,1)
}(i) =
1
x
(i 1)
Solve symbolic equations solve(1/x = x-1)
1
x
= i 1
Evaluate polynomial polyval([1 2 1 2],1:10) polyval(array([1,2,1,2]),arange(1,11))
8.4.2 Dierential equations
Desc. matlab/Octave Python R
Discrete dierence function and approxi-
mate derivative
diff(a) diff(x, n=1, axis=0)
Solve dierential equations
8.5 Fourier analysis
Desc. matlab/Octave Python R
Fast fourier transform fft(a) fft(a) or fft(a)
Inverse fourier transform ifft(a) ifft(a) or fft(a, inverse=TRUE)
Linear convolution convolve(x,y)
9 Symbolic algebra; calculus
Desc. matlab/Octave Python R
Factorization factor()
MATLAB commands in numerical Python (NumPy) 17
Vidar Bronken Gundersen /mathesaurus.sf.net
10 Programming
Desc. matlab/Octave Python R
Script le extension .m .py .R
Comment symbol (rest of line) %
Octave: % or #
# #
Import library functions % must be in MATLABPATH
Octave: % must be in LOADPATH
from pylab import * library(RSvgDevice)
Eval string=a=234;
eval(string)
string="a=234"
eval(string)
string <- "a <- 234"
eval(parse(text=string))
10.1 Loops
Desc. matlab/Octave Python R
for-statement for i=1:5; disp(i); end for i in range(1,6): print(i) for(i in 1:5) print(i)
Multiline for statements for i=1:5
disp(i)
disp(i*2)
end
for i in range(1,6):
print(i)
print(i*2)
for(i in 1:5) {
print(i)
print(i*2)
}
10.2 Conditionals
Desc. matlab/Octave Python R
if-statement if 1>0 a=100; end if 1>0: a=100 if (1>0) a <- 100
if-else-statement if 1>0 a=100; else a=0; end
Ternary operator (if?true:false) ifelse(a>0,a,0) o . 0?o : 0
10.3 Debugging
Desc. matlab/Octave Python R
Most recent evaluated expression ans .Last.value
List variables loaded into memory whos or who objects()
Clear variable i from memory clear x or clear [all] rm(x)
Print disp(a) print a print(a)
10.4 Working directory and OS
Desc. matlab/Octave Python R
List les in directory dir or ls os.listdir(".") list.files() or dir()
List script les in directory what grep.grep("*.py") list.files(pattern="\.r$")
Displays the current working directory pwd os.getcwd() getwd()
Change working directory cd foo os.chdir(foo) setwd(foo)
Invoke a System Command !notepad
Octave: system("notepad")
os.system(notepad)
os.popen(notepad)
system("notepad")

This document is still draft quality. Most shown zd plots are made using Matplotlib, and d plots using R and Gnuplot, provided as examples only.

Version numbers and download url for software used: Python z..z, http://www.python.org/; NumPy o.g., http://numeric.scipy.org/; Matplotlib o.S, http://matplotlib.sf.net/; IPython o..i,
http://ipython.scipy.org/; R z.i.i, http://www.r-project.org/; Octave z.i.o, http://www.octave.org/; Scilab .o, http://www.scilab.org/; Gnuplot .o, http://www.gnuplot.info/.

For referencing: Gundersen, Vidar Bronken. MATLAB commands in numerical Python (Oslo/Norway, zoo), available from: http://mathesaurus.sf.net/

Contributions are appreciated: The best way to do this is to edit the xml and submit patches to our tracker or forums.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy