Vous êtes sur la page 1sur 50

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.,


(
(
(
(

=
n
x
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
y
y
, or
If a vector has only one dimension, it
becomes a scalar, e.g.,


| | | | 5 5
1
= = = z z
Vector addition
Addition of two vectors is defined by

(
(
(
(

+
+
+
= +
n n
y x
y x
y x

2 2
1 1
y x
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

(
(
(
(

=
n
kx
kx
kx
k

2
1
x
Vector transpose
The transpose of a vector is defined, such
that, if x is the column vector

(
(
(
(

=
n
x
x
x

2
1
x
its transpose is the row vector
| |
n
x x x
2 1
=
T
x
Inner product of vectors
The quantity x
T
y is referred as the inner
product or dot product of x and y and
yields a scalar value (or x y).
n n
y x y x y x + + + =
2 2 1 1
y x
T
If x
T
y = 0
x and y are said to be orthogonal.
In addition, x
T
x , the squared length of
the vector x , is


The length or norm of vector x is
denoted by

2 2
2
2
1 n
x x x + + + = x x
T
x x x
T
=
Outer product of vectors
The quantity of xy
T
is referred as the
outer product and yields the matrix


(
(
(
(

=
n n n n
n
n
y x y x y x
y x y x y x
y x y x y x

2 1
2 2 2 1 2
1 2 1 1 1
T
xy
Similarly, we can form the matrix xx
T
as


(
(
(
(
(

=
2
2 1
2
2
2 1 2
1 2 1
2
1
n n n
n
n
x x x x x
x x x x x
x x x x x

T
xx
where xx
T
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

| |
ij
a = A
Where a
ij
is the element in the i
th
row and
j
th
column, for i=1,2,.,m and j=1,2,,n. If
m=2 and n=3, A is a 23 matrix
(

=
23 22 21
13 12 11
a a a
a a a
A
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.

| |
ij ij
b a + + B A
e.g.,
For m=3 and n=n:
(
(
(

+
+
+
+
+
+
+
32 32
22 22
12 12
31 31
21 21
11 11
b a
b a
b a
b a
b a
b a
B A
Scalar multiplication
The matrix A may be multiplied by a
scalar k. Such multiplication is denoted
by kA where
| |
ij
ka k = 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
| |
ij
c = = C AB
pj ip j i j i
p
k
kj ik ij
b a b a b a b a c + + + = =

=

2 2 1 1
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 mp and B is pn, the
product matrix [c
ij
] has m rows and n
columns, i.e.,
n m n p p m
= C B A
For example, if A is a 23 matrix and B
is a 32 matrix, then AB yields a 22
matrix, i.e.,
(

+ + + +
+ + + +
= =
32 23 22 22 12 21 31 23 21 22 11 21
32 13 22 12 12 11 31 13 21 12 11 11
b a b a b a b a b a b a
b a b a b a b a b a b a
C AB
In general,
BA AB=
For example, if
(
(
(

=
6
5
4
3
2
1
A
(

=
4 5 6
1 2 3
B
and , then
(
(
(

=
(

(
(
(

=
27 36 45
22 29 36
17 22 27
4 5 6
1 2 3
6
5
4
3
2
1
AB
and
(

=
(
(
(

=
73 28
28 10
6 3
5 2
4 1
4 5 6
1 2 3
BA
Obviously, BA AB= .
Vector-matrix Product
If a vector x and a matrix A are
conformable, the product y=Ax is
defined such that

=
=
n
j
j ij i
x a y
1
For example, if A is as before and
x is as follow,
(

=
2
1
x
, then
(
(
(

=
(

(
(
(

= =
15
12
9
2
1
6
5
4
3
2
1
Ax y
Transpose of a matrix
The transpose of a matrix is obtained
by interchanging its rows and columns,
e.g., if
(

=
23 22 21
13 12 11
a a a
a a a
A
then
(
(
(

=
23
22
21
13
12
11
a
a
a
a
a
a
T
A
Or, in general,
A=[a
ij
], A
T
=[a
ji
].
Thus, an mn matrix has an nm
transpose.
For matrices A and B, of appropriate
dimension, it can be shown that
( )
T T
T
A B AB =
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
I AA A A
1 1
= =

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
0 0 1

I
It can be shown that
( ) ( )
1
T
T
1
A A

=
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 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.
>> c=0:5
c =
0 1 2 3 4 5
>> b=0:0.2:1
b =
0 0.2000 0.4000 0.6000 0.8000 1.0000
>> d=8:-1:3
d =
8 7 6 5 4 3
>> e=8:2
e =
Empty matrix: 1-by-0
Examples
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 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))/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

d =

norm(cross((b-a),(c-a)))/norm(b-a)
( ) ( )
a b
a c a b

Vous aimerez peut-être aussi