General Problem Solving Methodology
Download
Report
Transcript General Problem Solving Methodology
EGR 106 – Week 4 – Math on Arrays
Linear algebraic operations:
–
–
Multiplication
Division
Row/column based operations
Rest of chapter 3
Array Multiplication (Linear Algebra)
In linear algebra, the matrix expression F = A * B
means
F(r,c) A(r,k)* B(k,c)
k
–
Entries are dot products of rows of the first
matrix with columns of the second
=
*
For example:
a
b
c
d
2 3 1 4
1 5 2 6
2 *1 3 * 2 2 * 4 3 * 6
1*1 5 * 2 1* 4 5 * 6
8 26
11 34
a1xc1 + b1xc2
a1xd1 + b1xd2
Notes:
–
–
The operation is generally not commutative
A*B ≠ B*A
The number of columns of the 1st must match
the number of rows of the 2nd
=
n by m
*
n by k
k by m
For example, here multiplication works both ways,
but is not commutative:
quite different!
Multiplications F=A*B (2col, 2 rows)
1x7+2x8
23
3x7+4x8
53
5x7+6x8
83
1x9+2x10
29
3x9+4x10
67
5x9+6x10
105
1x11+2x12
35
3x11+4x12
81
5x11+6x12
127
Multiplications F=B*A (3cols, 3rows)
7x1+9x3+11x5
89
8x1+10x3+12x5
98
7x2+9x4+11x6
116
8X2+10x4+12x6
128
And here it doesn’t work at all:
(2 cols, 3 rows)
Application of Multiplication
Application of matrix multiplication: n simultaneous
equations in m unknowns (the x’s)
a11 x1 a12 x2 a1m xm b1
a21 x1 a22 x2 a11 xm b2
an1 x1 an 2 x1
anm xm bn
n rows, m columns
2 x1 3x2
4 x1 2 x2
6 x1 7 x2
For example:
In matrix form this is
with
2 3 3
A 4 2 9
6 7 2
Coefficients
3x3
9 x3
2 x3
7
5
1
A*x=b
x1
x x2
x3
7
b 5
1
a11 x1 a12 x2 a1m xm b1
a21 x1 a22 x2 a11 xm b2
an1 x1 an 2 x1
anm xm bn
In general:
–
–
–
A is n by m
x is m by 1
b is n by 1
A*x=b
column vectors
(lower case)
Usages – finding:
–
cable tensions in statics
fluid flow in piping
heat flow in thermodynamics
–
e.g.
–
–
–
–
–
currents in circuits
traffic flow
economics
R1
v
i1
i2
R3
R2
R1 R2
R
2
R2
i1 v
*
R2 R3 i2 0
Array Division
Recall the command eye(n)
–
This result is the array
–
multiplication identity matrix I
For any array A
A*I=I*A=A
must be properly
sized!
Imagine that for square arrays A and B we have
A*B=B*A=I
then we call them inverses
A = B–1
A ^ -1
B = A–1
In Matlab:
or inv(A)
When does A–1 exist?
– A is square
– A has a non-zero determinant (det(A))
For example:
(Must be non zero for inv)
Solving A * x = b
– Assume that A is square and det(A) ≠ 0
–
Multiply both sides by A–1 on the left
A–1 *A * x = A–1* b
=I
=x
so
–
x = A–1* b
In Matlab, x = A \ b or x = inv(A)*b
backwards slash
For example:
9x2+8x3=6
7x1+4x2+5x3=8
4x1+4x2+2x3=0
x1
x2
x3
Check your work:
Vector Based Operations
Some operations analyze a vector to yield a
single value. For example:
sums the elements
Other operations for a vector A:
–
–
–
–
–
–
Minimum: min(A)
Maximum: max(A)
Median: median(A)
Mean or average: mean(A)
Standard deviation: std(A)
Product of the elements: prod(A)
Some operators
yield two results:
–
min and max can
yield both the value
and its location
–
default is the first
result
Some operators yield vector results
–
–
size(A) we’ve already seen
sort
Or multiple
vectors:
Finally, when applied to an array, these
operators perform their action on columns
Unless you instruct it to work on rows!
the 2 means “use the
2nd dimension” i.e.
spanning the columns
Use help to discover how to use these work