A MATLAB Cheat-sheet
Basics:
save 'file.mat' save variables to file.mat
load
'file.mat' load variables from file.mat
diary
on record input/output to file diary
diary
off stop recording
whos list all variables currenly defined
clear delete/undefine all variables
help
command quick help on a given command
doc command extensive help on a given command
Defining/changing
variables:
x = 3 define
variable x to be
3
x = [1
2 3] set x to the
1×3 row-vector (1,2,3)
x = [1
2 3]; same, but don't echo x to output
x =
[1;2;3] set x to the
3×1 column-vector (1,2,3)
A = [1
2 3 4;5 6 7 8;9 10 11 12]; set A to the
3×4 matrix with rows 1,2,3,4 etc.
x(2) =
7 change x from
(1,2,3) to (1,7,3)
A(2,1) = 0 change A2,1 from 5 to 0
Arithmetic and
functions of numbers:
3*4, 7+4, 2-6 8./3 multiply, add, subtract, and divide numbers
3^7,
3^(8+2i) compute 3 to the 7th power, or 3 to the 8+2i power
sqrt(-5)
compute the square root of –5
exp(12)
compute
e12
log(3),
log10(100) compute the natural log (ln) and base-10 log (log10)
abs(-5)
compute the absolute value |–5|
sin(5*pi./3)
compute
the sine of 5π/3
besselj(2,6) compute the Bessel function J2(6)
Arithmetic and
functions of vectors and matrices:
x * 3 multiply every element of x by 3
x + 2 add 2 to every element of x
x + y element-wise addition of two vectors x and y
A * y product
of a matrix A and a
vector y
A * B product of two matrices A and B
x * y not allowed if x and y are
two column vectors!
x .* y
element-wise product of vectors x
and y
A^3 square matrix A to the 3rd power
x^3 not allowed if x is not a square matrix!
x.^3 every element of x is taken to the 3rd power
cos(x)
cosine of every element of x
abs(A)
absolute
value of every element of A
exp(A)
e to the power of every element of A
sqrt(A)
square root of every element of A
expm(A)
matrix exponential eA
sqrtm(A) matrix whose square is A
Transposes and dot products:
x.', A.' transposes of x and A
x', A'
complex-conjugate of the transposes of x and A
x' * y dot (inner) product of two column
vectors x
and y
Constructing a few simple matrices:
rand(12,4) 12×4 matrix
with uniform random numbers in [0,1)
randn(12,4)
12×4 matrix
with Gaussian random (center 0, variance 1)
zeros(12,4)
12×4 matrix
of zeros
ones(12,4)
12×4 matrix
of ones
eye(5)
5×5 identity matrix I (“eye”)
eye(12,4)
12×4 matrix
whose first 4 rows are the 4×4
identity
linspace(1.2,4.7,100) row vector of
100 equally-spaced numbers from 1.2 to 4.7
7:15 row vector of 7,8,9,…,14,15
diag(x)
matrix
whose diagonal is the entries of x (and other
elements = 0)
Portions of matrices and vectors:
x(2:12) 2nd to the 12th elements of x
x(2:end)
2nd to the last elements of x
x(1:3:end)
every third element of x, from 1st to the last
x(:) all the elements of x
A(5,:)
row vector of every element in the 5th row of A
A(5,1:3)
row
vector of the first 3 elements in the 5th row of A
A(:,2)
column vector of every element in the 2nd column of A
diag(A) column vector of the diagonal elements of A
Solving linear equations:
A \ b A a matrix and b a column vector, the solution x to Ax=b
inv(A)
inverse matrix A–1
[L,U,P]
= lu(A) LU
factorization PA=LU
eig(A)
eigenvalues of A
[V,D]
= eig(A) columns
of V are
the eigenvectors of A, and
diag(D) diagonals
diag(D) are the eigenvalues of A
Plotting:
plot(y) plot y as the
y axis,
with 1,2,3,…as the x axis
plot(x,y)
plot y versus
x (must
have same length)
plot(x,A)
plot columns of A versus x (must
have same # rows)
loglog(x,y)
plot y versus
x on a
log-log scale
semilogx(x,y)
plot y versus
x with x on a log scale
semilogy(x,y)
plot y versus
x with y
on a log scale
fplot(@(x)
…expression…,[a,b]) plot some expression in x from x=a to x=b
axis
equal force the x and y axes
of current plot to be scaled equally
title('A
Title') add a title A Title at the top of the plot
xlabel('blah')
label the x axis as blah
ylabel('blah')
label
the y axis
as blah
legend('foo','bar')
label 2 curves in the plot foo and bar
grid include a grid in the plot
figure
open up a new figure window
dot(x,y),
sum(x.*y) two other
ways to write the dot product
x * y' the outer product
of two column vectors x and y
0 comments:
Post a Comment