MATLAB Basics

advertisement
MATLAB Basics
With a brief review of linear algebra
by Lanyi Xu
modified 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.,
 x1 
x 
x   2

 
 xn 
X is a n-dimensional column vector.

In physical world, a vector is normally
3-dimensional in 3-D space or 2dimensional in a plane (2-D space), e.g.,
 x1  1 
x   x2   5 
 x3   2
, or
 y1  8
y  
 y 2  6 

If a vector has only one dimension, it
becomes a scalar, e.g.,
z  z1   5  5
Vector addition
Addition of two vectors is defined by
 x1  y1 
x  y 
2
xy   2
  


x

y
n
 n
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
 kx1 
 kx 
2

kx 
  
 
 kxn 
Vector transpose
The transpose of a vector is defined, such
that, if x is the column vector
 x1 
x 
x   2

 
 xn 
its transpose is the row vector
x  x1
T
x2  xn 
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).
x y  x1 y1  x2 y2   xn yn
T
If xTy = 0
x and y are said to be orthogonal.

In addition, xTx , the squared length of
the vector x , is
x x  x  x   x
T

2
1
2
2
2
n
The length or norm of vector x is
denoted by
x x x
T
Outer product of vectors

The quantity of xyT is referred as the
outer product and yields the matrix
 x1 y1
x y
2 1
T

xy 
 

 xn y1
x1 y2
x2 y 2

xn y 2
 x1 yn 
 x2 yn 
 

 xn y n 

Similarly, we can form the matrix xxT as
 x12

x2 x1
T

xx 
 

 xn x1
x1 x2
x22

xn x2
 x1 xn 

 x2 xn 
 
2 
 xn 
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
 
A  a ij
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 23 matrix
 a11 a12 a13 
A

a 21 a 22 a 23 




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.

A  B  aij  bij
e.g.,


For m=3 and n=n:
 a11  b11
A  B  a21  b21
 a31  b31
a12  b12 
a22  b22 
a32  b32 
Scalar multiplication

The matrix A may be multiplied by a
scalar k. Such multiplication is denoted
by kA where
 
kA  kaij
i.e., when a scalar multiplies a matrix, it
multiplies each of the elements of the
matrix, e.g.,
For 32 matrix A,
 ka11

kA  ka21
 ka31
ka12 

ka22 
ka32 
Matrix multiplication

The product of two matrices, AB, read
A times B, in that order, is defined by
the matrix
 
AB  C  cij
p
cij   aik bkj  ai1b1 j  ai 2b2 j    aipbpj
k 1
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 mp and B is pn, the
product matrix [cij] has m rows and n
columns, i.e.,
AmpBpn  Cmn
For example, if A is a 23 matrix and B
is a 32 matrix, then AB yields a 22
matrix, i.e.,
 a11b11  a12b21  a13b31 a11b12  a12b22  a13b32 
AB  C  

a21b11  a22b21  a23b31 a21b12  a22b22  a23b32 
In general,
AB  BA
For example, if
1 4 
A  2 5
3 6
and
 3 2 1
B
, then

6 5 4
1 4 
27 22 17
 3 2 1 



AB  2 5 

36
29
22
 

6
5
4
  45 36 27
3 6 


and
1 4 
 3 2 1 
10 28

BA  
2 5  



6
5
4
28
73

 3 6  



Obviously, AB  BA .
Vector-matrix Product

If a vector x and a matrix A are
conformable, the product y=Ax is
defined such that
n
yi   aij x j
j 1
For example, if A is as before and
x is as follow,
1 
x 
 2
, then
1 4 
9
1   


y  Ax  2 5    12
2

3 6
15
Transpose of a matrix

The transpose of a matrix is obtained
by interchanging its rows and columns,
e.g., if
a
a 
a
A   11 12
a21 a22
 a11
then T 
A  a12
a13
a21 

a22 
a23 
13
a23 
Or, in general,
A=[aij], AT=[aji].
Thus, an mn matrix has an nm
transpose.
For matrices A and B, of appropriate
dimension, it can be shown that
AB
T
B A
T
T
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
1
A A  AA
1
I
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.,
1 0  0
0 1  0 

I

 


0 0  1 
It can be shown that
A   A 
1 T
T 1
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
4
15
14
>>
12
1
Generate matrices using builtin 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
1
1
1
1
1
>> I=eye(4) (i.e., identity matrix)
I=
1
0
0
0
0
1
0
0
0
0
1
0
0
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 > k
j: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.
Examples
>> c=0:5
c=
0 1 2 3 4 5
>> b=0:0.2:1
b=
0 0.2000 0.4000 0.6000
>> d=8:-1:3
d=
8
7
6
5
4
3
>> e=8:2
e=
Empty matrix: 1-by-0
0.8000
1.0000
Basic Permutation of Matrix in
MATLAB

sum, transpose, and diag
Summation
We can use sum() function.
Examples, >> X=ones(1,5)

X=
1 1 1
>> sum(X)
ans =
5
>>
1
1
>> 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
2 11
3 10
13
8
>>
9
4
7 14
6 15
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.
Useful constants:
pi
i
j
3.14159265...
Imaginary unit (  1 )
Same as i
>> rho=(1+sqrt(5))/2
rho =
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
b  a  c  a 

d=

norm(cross((b-a),(c-a)))/norm(b-a)
ba
Download