matlab tutorial and linear algebra review
TRANSCRIPT
Matlab tutorial and Linear Algebra Review
• Today’s goals:• Learn enough matlab to get started.• Review some basics of Linear Algebra• Essential for geometry of points and lines.• But also, all math is linear algebra.• (ok slight exaggeration).• Many slides today adapted from Octavia
Camps, Penn State.
Starting Matlab
• For PCs, Matlab should be a program.
• For Sun’s:
Numerical
Analysis and Visualization
Matlab 6.1
Help
• help• help commandEg., help plus• Help on toolbar• demo• Tutorial:
http://amath.colorado.edu/scico/tutorials/matlab/
Matlab interpreter
• Many common functions: see help ops
Vectors
• Ordered set of numbers: (1,2,3,4)
• Example: (x,y,z) coordinates of pt in space. runit vecto a is ,1 If
),(
1
2
,,21
vv
xv
xxxvn
i i
n
Indexing into vectors
Vector Addition
),(),(),( 22112121 yxyxyyxx wv
vvww
V+wV+w
Scalar Product
),(),( 2121 axaxxxaa v
vv
avav
Operations on vectors
• sum
• max, min, mean, sort, …
• Pointwise: .^
Inner (dot) Product
vv
ww
22112121 .),).(,(. yxyxyyxxwv
The inner product is a The inner product is a SCALAR!SCALAR!
cos||||||||),).(,(. 2121 wvyyxxwv
wvwv 0.
Matrices
nmnn
m
m
m
mn
aaa
aaa
aaa
aaa
A
21
33231
22221
11211
mnmnmn BAC Sum:Sum:
ijijij bac
A and B must have the same A and B must have the same dimensionsdimensions
Matrices
pmmnpn BAC Product:Product:
m
kkjikij bac
1
A and B must have A and B must have compatible dimensionscompatible dimensions
nnnnnnnn ABBA
Identity Matrix:
AAIIAI
100
010
001
Matrices
mnT
nm AC Transpose:Transpose:
jiij ac TTT ABAB )(
TTT BABA )(
IfIf AAT A is symmetricA is symmetric
Matrices
Determinant:Determinant: A must be squareA must be square
3231
222113
3331
232112
3332
232211
333231
232221
131211
detaa
aaa
aa
aaa
aa
aaa
aaa
aaa
aaa
122122112221
1211
2221
1211det aaaaaa
aa
aa
aa
Matrices
IAAAA nnnnnnnn
11
Inverse:Inverse: A must be squareA must be square
1121
1222
12212211
1
2221
1211 1
aa
aa
aaaaaa
aa
Indexing into matrices
Euclidean transformations
2D Translation
tt
PP
P’P’
2D Translation Equation
PP
xx
yy
ttxx
ttyy
P’P’tt
tPP ),(' yx tytx
),(
),(
yx tt
yx
t
P
2D Translation using Matrices
PP
xx
yy
ttxx
ttyy
P’P’tt
),(
),(
yx tt
yx
t
P
1
1
0
0
1' y
x
t
t
ty
tx
y
x
y
xP
tt PP
Scaling
PP
P’P’
Scaling Equation
PP
xx
yy
s.xs.x
P’P’s.ys.y
),('
),(
sysx
yx
P
P
PP s'
y
x
s
s
sy
sx
0
0'P
SPSP '
Rotation
PP
PP’’
Rotation Equations
Counter-clockwise rotation by an angle Counter-clockwise rotation by an angle
y
x
y
x
cossin
sincos
'
'
PP
xx
Y’Y’PP’’
X’X’
yy R.PP'
Degrees of Freedom
R is 2x2 R is 2x2 4 elements4 elements
BUT! There is only 1 degree of freedom: BUT! There is only 1 degree of freedom:
1)det(
R
IRRRR TT
The 4 elements must satisfy the following constraints:The 4 elements must satisfy the following constraints:
y
x
y
x
cossin
sincos
'
'
Stretching Equation
PP
xx
yy
SSxx.x.x
P’P’SSyy.y.y
y
xs
s
ys
xs
y
x
y
x
0
0'P
),('
),(
ysxs
yx
yx
P
P
S
PSP '
Stretching = tilting and projecting(with weak perspective)
y
xs
s
sy
xs
s
ys
xsy
x
yy
x
y
x
10
00
0'P
Linear Transformation
y
xs
s
s
y
xs
s
y
x
dc
ba
y
x
y
y
x
sincos
cossin
10
0
sincos
cossin
sincos
cossin0
0
sincos
cossin
'PSVD
Affine Transformation
1
' y
x
tydc
txbaP
Files
Functions
• Format: function o = test(x,y)
• Name function and file the same.
• Only first function in file is visible outside the file.
Images
Debugging
• Add print statements to function by leaving off ;
• keyboard
• debug and breakpoint
Conclusions
• Quick tour of matlab, you should teach yourself the rest. We’ll give hints in problem sets.
• Linear algebra allows geometric manipulation of points.
• Learn to love SVD.