Download - MATLAB Basics With a brief review of linear algebra by Lanyi Xu modified by D.G.E. Robertson
MATLAB Basics
With a brief review of linear algebra
by Lanyi Xumodified by D.G.E. Robertson
1. Introduction to vectors and matrices MATLAB= MATrix LABoratory What is a Vector? What is a Matrix? Vector and Matrix in Matlab
What is a vector
A vector is an array of elements, arranged in column, e.g.,
nx
x
x
2
1
x
X is a n-dimensional column vector.
In physical world, a vector is normally 3-dimensional in 3-D space or 2-dimensional in a plane (2-D space), e.g.,
2
5
1
3
2
1
x
x
x
x
6
8
2
1
y
yy, or
If a vector has only one dimension, it becomes a scalar, e.g.,
551 zz
Vector addition
Addition of two vectors is defined by
nn yx
yx
yx
22
11
yx
Vector subtraction is defined in a similar manner. In both vector addition and subtraction, x and y must have the same dimensions.
Scalar multiplication
A vector may be multiplied by a scalar, k, yielding
nkx
kx
kx
k
2
1
x
Vector transpose
The transpose of a vector is defined, such that, if x is the column vector
nx
x
x
2
1
x
its transpose is the row vector nxxx 21Tx
Inner product of vectors The quantity xTy is referred as the
inner product or dot product of x and y and yields a scalar value (or x ∙ y).
nn yxyxyx 2211yxT
If xTy = 0
x and y are said to be orthogonal.
In addition, xTx , the squared length of the vector x , is
The length or norm of vector x is denoted by
222
21 nxxx xxT
xxx T
Outer product of vectors The quantity of xyT is referred as
the outer product and yields the matrix
nnnn
n
n
yxyxyx
yxyxyx
yxyxyx
21
22212
12111
Txy
Similarly, we can form the matrix xxT as
221
22212
12121
nnn
n
n
xxxxx
xxxxx
xxxxx
Txx
where xxT is called the scatter matrix of vector x.
Matrix operations A matrix is an m by n rectangular
array of elements in m rows and n columns, and normally designated by a capital letter. The matrix A, consisting of m rows and n columns, is denoted as
ijaA
Where aij is the element in the ith row and jth column, for i=1,2,,m and j=1,2,…,n. If m=2 and n=3, A is a 23 matrix
232221
131211
aaa
aaaA
Note that vector may be thought of as a special case of matrix:
a column vector may be thought of as a matrix of m rows and 1 column;
a rows vector may be thought of as a matrix of 1 row and n columns;
A scalar may be thought of as a matrix of 1 row and 1 column.
Matrix addition Matrix addition is defined only when
the two matrices to be added are of identical dimensions, i.e., that have the same number of rows and columns. ijij ba BA
e.g.,
For m=3 and n=n:
3232
2222
1212
3131
2121
1111
ba
ba
ba
ba
ba
ba
BA
Scalar multiplication The matrix A may be multiplied by
a scalar k. Such multiplication is denoted by kA where
ijkak A
i.e., when a scalar multiplies a matrix, it multiplies each of the elements of the matrix, e.g.,
For 32 matrix A,
32
22
12
31
21
11
ka
ka
ka
ka
ka
ka
kA
Matrix multiplication The product of two matrices, AB,
read A times B, in that order, is defined by the matrix
ijcCAB
pjipjiji
p
kkjikij babababac
22111
The product AB is defined only when A and B are comfortable, that is, the number of columns is equal to the number of rows in B. Where A is mp and B is pn, the product matrix [cij] has m rows and n columns, i.e.,
nmnppm CBA
For example, if A is a 23 matrix and B is a 32 matrix, then AB yields a 22 matrix, i.e.,
322322221221312321221121
321322121211311321121111
babababababa
babababababaCAB
In general, BAAB
For example, if
6
5
4
3
2
1
A
456
123Ban
d, then
273645
222936
172227
456
123
6
5
4
3
2
1
AB
and
7328
2810
63
52
41
456
123BA
Obviously,
BAAB .
Vector-matrix Product If a vector x and a matrix A are
conformable, the product y=Ax is defined such that
n
jjiji xay
1
For example, if A is as before and x is as follow,
2
1x , then
15
12
9
2
1
6
5
4
3
2
1
Axy
Transpose of a matrix The transpose of a matrix is
obtained by interchanging its rows and columns, e.g., if
232221
131211
aaa
aaaA
then
23
22
21
13
12
11
a
a
a
a
a
aTA
Or, in general,
A=[aij], AT=[aji].
Thus, an mn matrix has an nm transpose.
For matrices A and B, of appropriate dimension, it can be shown that
TTT ABAB
Inverse of a matrix In considering the inverse of a
matrix, we must restrict our discussion to square matrices. If A is a square matrix, its inverse is denoted by A-1 such that
IAAAA 11
where I is an identity matrix.
An identity matrix is a square matrix with 1 located in each position of the main diagonal of the matrix and 0s elsewhere, i.e.,
100
010
001
I
It can be shown that
1TT1 AA
MATLAB basic operations MATLAB is based on matrix/vector
mathematics Entering matrices
Enter an explicit list of elements Load matrices from external data files Generate matrices using built-in functions Create vectors with the colon (:) operator
>> x=[1 2 3 4 5];
>> A = [16 3 2 13; 5 10 11 8; 9 6 7 12; 4 15 14 1]
A =
16 3 2 13
5 10 11 8
9 6 7 12
4 15 14 1
>>
Generate matrices using built-in functions Functions such as zeros(), ones(), eye(),
magic(), etc. >> A=zeros(3)A = 0 0 0 0 0 0 0 0 0>> B=ones(3,2)B =
1 11 11 1
>> I=eye(4) (i.e., identity matrix)I =
1 0 0 00 1 0 00 0 1 00 0 0 1
>> A=magic(4) (i.e., magic square)A =
16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1
>>
Generate Vectors with Colon (:) Operator
The colon operator uses the following rules to create regularly spaced vectors:
j:k is the same as [j,j+1,...,k]j:k is empty if j > kj:i:k is the same as [j,j+i,j+2i, ...,k]j:i:k is empty if i > 0 and j > k or if i < 0 and j < k
where i, j, and k are all scalars.
>> c=0:5c = 0 1 2 3 4 5>> b=0:0.2:1b = 0 0.2000 0.4000 0.6000 0.8000 1.0000>> d=8:-1:3d =
8 7 6 5 4 3>> e=8:2e = Empty matrix: 1-by-0
Examples
Basic Permutation of Matrix in MATLAB sum, transpose, and diag
SummationWe can use sum() function.Examples,>> X=ones(1,5)
X = 1 1 1 1 1>> sum(X)ans =
5>>
>> A=magic(4)A = 16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1
>> sum(A)ans = 34 34 34 34
>>
Transpose>> A=magic(4)A = 16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1
>> A'ans = 16 5 9 4 2 11 7 14 3 10 6 15 13 8 12 1
>>
Expressions of MATLAB Operators Functions
Operators
+ Addition-Subtraction* Multiplication/ Division\ Left division^ Power' Complex conjugate transpose( ) Specify evaluation order
Functions
MATLAB provides a large number of standard elementary mathematical functions, including abs, sqrt, exp, and sin.
pi 3.14159265...i Imaginary unit ( )j Same as i
Useful constants:
1
>> rho=(1+sqrt(5))/2rho = 1.6180
>> a=abs(3+4i)a = 5
>>
Basic Plotting Functions plot( )
The plot function has different forms, depending on the input arguments.
If y is a vector, plot(y) produces a piecewise linear graph of the elements of y versus the index of the elements of y.
If you specify two vectors as arguments, plot(x,y) produces a graph of y versus x.
Example,
x = 0:pi/100:2*pi;y = sin(x);plot(x,y)
Multiple Data Sets in One Graph
x = 0:pi/100:2*pi;y = sin(x);y2 = sin(x-.25);y3 = sin(x-.5);plot(x,y,x,y2,x,y3)
Distance between a Line and a Point given line defined by points a
and b find the perpendicular distance (d) to point c
d =
norm(cross((b-a),(c-a)))/norm(b-a)
ab
acab