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