Date post: | 01-Apr-2015 |
Category: |
Documents |
Upload: | raina-plasterer |
View: | 218 times |
Download: | 0 times |
Matrices and MATLAB
Dr Viktor FedunAutomatic Control and Systems Engineering, C09
Based on lectures by Dr Anthony Rossiter
Examples of a matrix
Examples of a matrix
Examples of a matrix
A matrix can be thought of simply as a table of numbers with a given number of rows and columns.
Example A has 3 rows and 3 columns, example B has 4 rows and 4 columns.
212354
8687
5254
6432
;
413
965
302
BAExamples of
square matrices
Examples of a matrix
A matrix can be thought of simply as a table of numbers with a given number of rows and columns.
Example A has 2 rows and 3 columns, example B has 3 rows and 1 column.
7
6
5
;501
432BA
Examples of non-square
matrices
What use are matrices?• Compact form for storing data (equivalent to
a table but more flexible).• Each column(or row) can relate to a different
‘state’: e.g. Time, displacement, velocity, temperature, etc.
• Convenient for computer code (and algebra) as can store and share large quantities of related data with a single variable.
• Easily extend to dynamic relations/modelling.
Indexing of matrices
Always give as {row index,column index}
Start counting from top left, so the top left component is index {1,1}, e.g. indices are given as:
}4,4{}3,4{}2,4{}1,4{
}4,3{}3,3{}2,3{}1,3{
}4,2{}3,2{}2,2{}1,2{
}4,1{}3,1{}2,1{}1,1{
Row index increasing
Column index
increasing
What is the index of the component -4
212354
8687
5254
6432
B
1. {1,3}
2. {1,2}
3. {2,1}
4. {3,1}
5. {4,3}
What is the index of the component -4
212354
8687
5254
6432
B
1. {1,3}
2. {1,2}
3. {2,1}
4. {3,1}
5. {4,3}
}4,4{}3,4{}2,4{}1,4{
}4,3{}3,3{}2,3{}1,3{
}4,2{}3,2{}2,2{}1,2{
}4,1{}3,1{}2,1{}1,1{
Create a matrix with following information
2nd row and 3rd column is 5
4th row and 2nd column is 2
1st row and 5th column is 6
Remainder are 0.
TRY this on MATLAB
A(2,3)=5; A(4,2)=2; A(1,5)=6;disp(A)
Note MATLAB syntax
matches that used in
mathematics, i.e. row index
and then column index.
Extracting parts of matrices
Example of selecting given rows and columns.
Can rearrange the order if desired.
Matrices
The main thing to note is that the default variable in MATLAB is a matrix (or vector if the row or column dimension is one).
Any BODMAS type operation that is valid with matrices can be carried out with the same syntax.
MATLAB also includes a large number of matrix analysis tools that you will find useful in the 2nd year.
Matrices and MATLAB for plots
A student collects data from an experiment and stores the answer in a matrix data_exp1.
• Column 1 corresponds to time.• Column 2 to temperature• Column 3 is voltage supplied.
It is now simple to code and plot this data – the corresponding code is shown next.
0 20 40 60 80 100 1200
5
10
15
20
25
30
Time (sec)
Temperature
Voltage
MATLAB example
Correcting dataStudent is told that the temperature readings
were all out by 2 degrees due to a calibration error.
Once the data is in a matrix, update is very efficient.
Use line: data_exp1(:,2)=data_exp1(:,2)+2
This will work not matter how many items of data are affected.
Matrix notationWithin a textbook, it is more normal to use
subscripts to represent the indices, so for example:
4,43,42,41,4
4,33,32,31,3
4,23,22,21,2
4,13,12,11,1
AAAA
AAAA
AAAA
AAAA
A
Often the comma is omitted for low value integers
131211 BBBB
Matrix notation
Matrix notation
Matrix notation
Matrix notation
Matrix notation
Flexibility
As an engineer you need to be flexible and work out what notation a particular article, website, book, etc is using.
Usually it will be obvious from the context and usage as long as your understand the core principles.
Which statement is false?
042
056
238
D
1. D12=-3
2. D21=6
3. D32=2
4. D23=2
5. D33=0
Matrix dimensionsWhat are the dimensions of the following
matrices?
3
5
4
042
154
233
;
042
056
238
ED
7
6
5
;501
432BA
0404512 C
Matrix dimensions summary
• Dimensions are always number of rows first and then number of columns second.
Typical notation is 2 by 3 or 4 by 1 or similar.
Describe dimensions of matrices on previous slide.
• Indexing begins from top left corner.
MATRIX TRANSPOSE
This is a very common operation so it is critical that students are familiar with the notation.
There is nothing to understand as it is simply a definition.
MATRIX TRANSPOSE
This is a very common operation so it is critical that students are familiar with the notation.
There is nothing to understand as it is simply a definition.
Matrix transpose definitionThe transpose is determined by swapping
the position of all the indices, that is {1,2} becomes {2,1}, etc.
You could view this a bit like doing a reflection about the principle diagonal.
Diagonal elements do not change.
;43
32;
43
32
TAA
Tijji AA ,,
Examples of Matrix transposeTijji AA ,,
443
362;
4
4
3
632
TAA
0
4
04
5
21
;0404512 TCC
Alternative insight.The jth column of A is the jth
row of A transpose.
Matrix transpose examplesFind the transpose of the following:
3
5
4
042
154
233
042
056
238
E
D
7
6
5
B
Which is the correct transpose of G?
1. A
2. B
3. C
4. D
5. None of these
2
2
2
2
2
2;
2
2
2
2
2
2
2
2
2
2
2
2;
2
2
2
2
2
2;
2
2
2
222
DC
BAG
ADDITION AND SUBTRACTION OF MATRICES
Addition and subtraction of matrices
Add (or subtract) components in same position, that is with the same {row, column} index.
Matrices must be same dimensions or you cannot add them!
24
53;
67
21;
43
32BABA
jijiji BACBAC ,,,
Do following matrices computations
BABA ;67
24;
43
32
BABA 2;
7
6
8
1202
;4
4
3
632
Which is incorrect (could be several)?
9
4
8
2
2
0;
91
43
1
2
2
0
2
2;
52
31
;8
2
6
2
0
2;
43
12
EF
DC
AG
1. G+C=F
2. G-C=-F
3. A+D=E
4. D-A=-E
5. None of these
Do following matrix computations
BABA T 3;67
24;
43
32
TBABA ;
4
6
0
102
;0
5
3
132
MATRIX handling in MATLAB
• Matrix addition/subtraction
• Matrix multiplication• Matrix powers• Matrix inversion• Extracting parts of
matrices
• A+B, A-B, A-2*B+C• A*B• A^3 • inv(A) or A^(-1)
• A([1,3],[2, 4])
MATRIX MULTIPLICATION
This is the most common skill you will need.
The technique is simply a definition that you need to memorise.
There is no such thing as matrix division!
Basic rule for multiplication (BY DEFINITION – not to understand)
Index {i,j} of result is determined from row {i} of left hand matrix and column {j} of right hand matrix.
Multiplying a row on left by a column on the right is a ‘dot-product’ type of operation, e.g.
dhcgbfae
h
g
f
e
dcba
What is the result of the following ?
8
6
2
533
1. 88
2. 52
3. 32
What is the result of the following ?
2
04
3
2
72113
1. 18
2. 21
3. 27
4. Don’t know
What is the result of the following ?
3
0
1
21
1. 1
2. 6
3. NA
4. Not sure
KEY OBSERVATIONA row vector can only be multiplied onto a
column vector if the two vectors are the same length.
Number of columns of left hand vector must match the number of rows of the right hand vector.
If vectors have different dimensions, multiplication is not defined.
Rules for matrix multiplicationAssume we wish to do C=A*B.
A must have same number of columns as B has rows
C BARows of C
Columns of B
Rows of B
Columns of C
Columns of A
Rows of A
=
Basic rule for multiplication Index {i,j} or result is determined from row {i} of left hand matrix and column {j} of right hand matrix. Multiplying a row on left by a column on the right is a ‘dot-product’ type of operation, e.g.
phmgnfke
dhcgbfae
h
g
f
e
p
d
m
c
n
b
k
a
fpej
dpcj
bpaj
fmei
dmci
bmai
fneh
dnch
bnah
fkeg
dkcg
bkag
p
j
m
i
n
h
k
g
f
d
b
e
c
a
Student problemSolve the following multiplications.
21226
11054
1971
8
6
6
5
4
2
26
54
71
8
6
6
5
4
2
Student problem 2 – compute C,D
BADABCBA
;;
26
54
71
;68
46
6
5
4
2
KEY OBSERVATIONTwo matrices can only be multiplied if the
column dimension of the left matrix matches the row dimension of the right matrix.
In general
In fact, it is possible that AB exists but BA does not!
BAAB The property of
AB=BA is called commutativity and does not
hold for matrices in general.
Uses of matrix multiplicationA simple example involves the change of coordinates from one set to another – this is commonly needed for robotics and mechanics.
x
y
X’Y’
θ
V=(x,y)
cossin'
sincos'
yxY
yxX
y
x
Y
X
cossin
sincos
'
'
SIMULTANEOUS EQUATIONS
Matrix/vector algebra is a compact and efficient method for handling linear simultaneous equations and most effective techniques deployed assume matrix representation of this problem. [Details in semester 2]
MATLAB automatically handles simultaneous equations with matrices and vectors which greatly simplifies solution and manipulation. [Try this now!]
Using Matrices for simultaneous equations
Consider a single linear equation and write in MATRIX/VECTOR format, e.g.
6]61[65
4]23[423
y
xyx
y
xyx
6
4
51
23
5
23
y
x
yx
yx
Put following into matrix-vector format
1041320
463
32
23
165
zyx
yz
yzx
yx
yx
91412
214
432
12
dab
dca
dcb
cba
Simultaneous equationsAssume user knows how to put simultaneous
equations into matrix vector format, ie.
AX=b
Can solve with MATLAB several different ways;
1. X=inv(A)*b
2. X=A\b
3. Numerically efficient code is discussed in text books and semester 2 of ACS123.
Try on MATLAB
820
241
012
;
2
3
1
;1 AbbAx
DETERMINANTS
You will cover solution of simultaneous equations in semester 2. However, in order to prepare for this, you will need familiarity and skill with the determinant of a matrix.
Final matrix topic here is define ‘determinant’.
NOTE: This is a definition and therefore must be learnt as a fact.
ONLY DEFINED FOR SQUARE MATRICES
Determinant in briefIn conceptual terms, a determinant gives an indication of the ‘magnitude’ of a matrix, that is, on average, what scale of impact does it have on vectors when multiplying those vectors.
You will notice that the effective magnification is direction dependent, and so the determinant is an average in some sense.
;1
1
1
1
32
23;
5
5
1
1
32
23
Scaled by factor of 5. Scaled by factor of 1.
Determinant – key factIf the determinant is very small, then there exists a least one direction, which when multiplied by the matrix, results in a very small scaling factor.
A zero determinant means at least one direction can be mapped to zero.
;0
1.0
9.0
1.0
218
110;
20
11
1
1
218
110
Scaled by factor of 16 (approx).
Scaled by factor of 0.1 (approx).
Determinant for 2 by 2 matricesThe determinant is defined as product of the diagonal elements minus the product of the off-diagonal elements:
Note use of vertical lines around matrix is notation use to define determinant.
Try this on the examples of the previous few slides.
bcadAdc
baA
;
Determinant computations
AA ;
32
23
BB ;
218
110
Find the determinant of matrix D
85
41D
1. -12
2. 28
3. 12
4. -28
5. unsure
Find the determinant of matrix F
124
31F
1. 0
2. 24
3. -24
4. -32
5. unsure
Determinant for 3 by 3 matricesThe determinant is defined using the concept of a matrix of cofactors Aij. For convenience define the original matrix with lower case and the matrix of cofactors with upper case.
Next, by definition:
333231
232221
131211
333231
232221
131211
)(;
AAA
AAA
AAA
Acof
aaa
aaa
aaa
A
333332323131
232322222121
131312121111
AaAaAaor
AaAaAaor
AaAaAaA
Defining the cofactor termsA cofactor is taken as the determinant of a minor with a sign change if appropriate to the position.
A minor is the matrix remaining when the row and column associated to an element are crossed out.
3231
222113
333231
232221
131211
)(min;aa
aaaor
aaa
aaa
aaa
A
;
sign 312232211313 )( aaaaacofA
Defining the cofactor termsA cofactor is taken as the determinant of a minor with a sign change if appropriate to the position.
A minor is the matrix remaining when the row and column associated to an element are crossed out.
3332
131221
333231
232221
131211
)(min;aa
aaaor
aaa
aaa
aaa
A
;
sign ][)( 133233122121 aaaaacofA
Find the matrix of cofactors and determinant
210
018
563
A131312121111 AaAaAaA
Find the matrix of cofactors and determinant
512
212
430
A
Determinant for 4 by 4 matricesThe determinant is defined using the concept of a matrix of cofactors Aij (as for the 3 by 3 case)
For convenience define the original matrix with lower case and the matrix of cofactors with upper case.
Next, by definition:
4
1
1414131312121111
jijijAaor
AaAaAaAaA
The extension to larger matrices should be obvious, although this is not a paper and pen exercise.
Defining the cofactor terms for a 4 by 4
A cofactor is taken as the determinant of a minor with a sign change if appropriate to the position.
A minor is the matrix remaining when the row and column associated to an element are crossed out.
4,43,42,41,4
4,33,32,31,3
4,23,22,21,2
4,13,12,11,1
aaaa
aaaa
aaaa
aaaa
A
Remarks on 4 by 4 determinantsA minor is now a 3 by 3 matrix and therefore
each cofactor requires the computation of the determinant of a 3 by 3
For a 5 by 5 matrix, the minors would each require the computation of a 4 by 4 determinant.
Determinants of larger matrices are best done using properties and tricks to minimise the numeric
computations. Alternatively, and more likely, use a computer.
Properties of determinants1. Adding a multiple of any row to another row does not
change the determinant.
2. If two rows (or two columns) are equal then the determinant is zero.
3. Scaling any row by λ results in a scaling of the determinant by λ
4. Interchanging rows (or columns) changes the sign of the determinant.
5. A lower or upper triangular matrix has a determinant given as product of diagonal terms.
6. The determinant of a matrix and determinant of its transpose are equal
Properties of determinants1. Adding a multiple of any row to another row does not change the
determinant.
Properties of determinants2. If two rows (or two columns) are equal then the determinant is zero.
Properties of determinants3. Scaling any row by λ results in a scaling of the determinant by λ.
Properties of determinants
4. Interchanging rows (or columns) changes the sign of the determinant.
Properties of determinants5. A lower or upper triangular matrix has a determinant given as product of diagonal terms.
Properties of determinants6. The determinant of a matrix and determinant of its transpose are equal
Find the determinant (using properties)
200
010
563
A
Check answers using MATLAB – e.g det(A)
Find the determinant (using properties)
21356104
03185
00222
0001
B
Check answers using MATLAB – e.g det(A)
Find the determinant (using properties)
241
012
561
A
Find the determinant (using properties)
21356104
73185
015123
0541
B
Find the determinant (using properties)
004
016
561
A
21356104
0005
05123
0021
B
Adjoint
The adjoint matrix is the transpose of the matrix of cofactors.
This will be used in semester 2 for solving linear simultaneous equations.
All the cofactors need to be computed! THIS IS TEDIOUS!
However: The adjoint is not needed if only the determinant is required.