scientific computing 2013
play

Scientific Computing 2013 Maastricht Science Program Week 3 Frans - PowerPoint PPT Presentation

Scientific Computing 2013 Maastricht Science Program Week 3 Frans Oliehoek <frans.oliehoek@maastrichtuniversity.nl> Recap Matlab...! Advanced calculator operator priorities, variable names, matlab functions Using scripts


  1. Scientific Computing 2013 Maastricht Science Program Week 3 Frans Oliehoek <frans.oliehoek@maastrichtuniversity.nl>

  2. Recap  Matlab...!  Advanced calculator  operator priorities, variable names, matlab functions  Using scripts  Example of data reductions using PCA  Floating point numbers

  3. This Lecture  Vectors & Matrices in Matlab  creating, indexing, using functions  Given data: figure out how variables relate.  E.g., given medical symptoms or measurements, what is the probability of some disease?  Estimating functions from a number of data points.  Interpolation, Least Squares Regression NOTE: It is a lot...!

  4. Matrices & Vectors

  5. Motivation  LA is the basis of many methods in science  For us:  Important to solve systems of linear equations a 11 x 1 + a 12 x 2 + ... + a 1n x n = c 1 a 21 x 1 + a 22 x 2 + ... + a 2n x n = c 2 a 1 x 1 + a 2 x 2 + ... = c ... a m1 x 1 + a m2 x 2 + ... + a mn x n = c m  Arise in many problems, e.g.:  Identifying gas mixture from peaks in spectrum  fitting a line to data.

  6. Motivation  LA is the basis of many methods in science  For us: ● x j - the amount of gas of type j  Important to solve systems of linear equations ● a ij - how much a gas of type j contributes to wavelength i a 11 x 1 + a 12 x 2 + ... + a 1n x n = c 1 ● c i - the height of the peak of a 21 x 1 + a 22 x 2 + ... + a 2n x n = c 2 wavelength i a 1 x 1 + a 2 x 2 + ... = c ... a m1 x 1 + a m2 x 2 + ... + a mn x n = c m  Arise in many problems, e.g.:  Identifying gas mixture from peaks in spectrum  fitting a line to data.

  7. Linear System of Equations  Example y = 0.5x + 1 y y = 2x − 3  Infinitely many, one, x or no solution  matrices make these easy work with Another reason to care about matrices and vectors: they can make complex problems easy to write down!

  8. Matrices A = [ − 8 ] − 2 3 6  A matrix with 5 2  m rows, B = [ 435 ]  n columns 5 54 6 75 24 81 is a collection of numbers 25 5  represented as a table v = [ 3 6 ] − 2  A vector is a matrix that is w = [ 25 ]  1 row (row vector), or 5 75  1 column (column vector)

  9. Matrices A = [ − 8 ] − 2 3 6  A matrix with 5 2  m rows, octave:1> A = [3, -2, 6; 5, 2, -8] B = [ 435 ] A =  n columns 5 54 6 3 -2 6 75 24 81 is a collection of numbers 5 2 -8 25 5  represented as a table octave:2> w = [5;75;25] w = 5 v = [ 3 6 ] − 2 75  A vector is a matrix that is 25 w = [ 25 ]  1 row (row vector), or 5 75  1 column (column vector)

  10. Matrices A = [ − 8 ] − 2 3 6  A matrix with 5 2  m rows, octave:1> A = [3, -2, 6; 5, 2, -8] B = [ 435 ] A =  n columns 5 54 6 3 -2 6 75 24 81 is a collection of numbers 5 2 -8 25 5  represented as a table octave:2> w = [5;75;25] w = 5 v = [ 3 6 ] octave:3> a1 = [4:8] − 2 75  A vector is a matrix that is a1 = 25 w = [ 25 ]  1 row (row vector), or 4 5 6 7 8 5 75 octave:4> a2 = [4:2:8]  1 column (column vector) a2 = 4 6 8

  11. Some Special Matrices I = [ 1 ]  Square matrix: m=n 1 0 0  Identity matrix - 'eye(3)' 0 1 0 0 0  Zero matrix – 'zeros(m,n)'  Types: diagonal, triangular (upper & lower) D = [ ∗ ] TU = [ ∗ ] TL = [ ∗ ] ∗ ∗ ∗ ∗ 0 0 ∗ 0 0 ∗ ∗ 0 ∗ 0 0 ∗ ∗ 0 0 0 ∗ ∗ 0 0  '*' denotes any number

  12. Operations on Vectors - 1  We can perform operations on them!  First: vectors. Next: generalization to matrices.  Transpose : convert row ↔ column vector T = [ 6 ] 3 v = [ 3 6 ] v − 2 − 2 w = [ 25 ] 5 T = [ 5 25 ] w 75 75

  13. Operations on Vectors - 1  We can perform operations on them!  First: vectors. Next: generalization to matrices. octave:9> a = [1,4,-2498, 12.4] a = 1.0000 4.0000 -2498.0000 12.4000  Transpose : convert row ↔ column vector octave:10> a' ans = T = [ 6 ] 3 1.0000 v = [ 3 6 ] v 4.0000 − 2 − 2 -2498.0000 12.4000 w = [ 25 ] octave:11> a'' 5 ans = T = [ 5 25 ] w 75 75 1.0000 4.0000 -2498.0000 12.4000

  14. Operations on Vectors - 2  Sum [ 1 3 ] + [ 10 30 ] = [ 11 33 ] 2 20 22  Product with scalar 5 ∗ [ 1 3 ] = [ 5 15 ] 2 10  Inner product (also: 'scalar product' or 'dot product') n T w = ∑ ( v ,w )= v v k w k k = 1

  15. Operations on Vectors - 2  Sum [ 1 3 ] + [ 10 30 ] = [ 11 33 ] 2 20 22  Product with scalar 5 ∗ [ 1 3 ] = [ 5 15 ] 2 10  Inner product (also: 'scalar product' or 'dot product') n T w = ∑ v = [ 3 ] ,w = [ 30 ] ( v ,w )= v v k w k 1 10 k = 1 2 20 3 ] [ 30 ] 10 [ 1 2 = 1 ∗ 10 + 2 ∗ 20 + 3 ∗ 30 = 10 + 40 + 90 = 140 20

  16. Operations on Vectors - 2  Sum [ 1 3 ] + [ 10 30 ] = [ 11 33 ] 2 20 22  Product with scalar 5 ∗ [ 1 3 ] = [ 5 15 ] 2 10 octave:4> a = [1;2;3] a = 1  Inner product (also: 'scalar product' or 'dot product') 2 3 n T w = ∑ v = [ 3 ] ,w = [ 30 ] octave:5> b = [4;5;6] ( v ,w )= v v k w k 1 10 b = k = 1 2 20 4 5 3 ] [ 30 ] 6 10 [ 1 2 = 1 ∗ 10 + 2 ∗ 20 + 3 ∗ 30 = 10 + 40 + 90 = 140 octave:6> dot(a,b) 20 ans = 32 octave:7> a'*b ans = 32

  17. Vector Indexing  Retrieve parts of vectors octave:12> a = [10, 20, 30, 40, 50, 60, 70] a = 10 20 30 40 50 60 70 octave:13> a(3) ans = 30 octave:14> a([2,4]) ans = 20 40 octave:16> a([4:end]) ans = 40 50 60 70

  18. Vector Indexing  Retrieve parts of vectors octave:12> a = [10, 20, 30, 40, 50, 60, 70] a = indexing with 10 20 30 40 50 60 70 another vector octave:13> a(3) ans = 30 octave:14> a([2,4]) ans = 20 40 special 'end' octave:16> a([4:end]) index ans = 40 50 60 70

  19. Operations on Matrices - 1  Now matrices!  Transpose :  convert each row → column vector (or convert each column→ row vector) A = [ 300 ] T = [ 300 ] 1 2 3 1 10 100 A 10 20 30 2 20 200 100 200 3 30

  20. Operations on Matrices - 1  Now matrices!  Transpose :  convert each row → column vector (or convert each column→ row vector) A = [ 300 ] T = [ 300 ] 1 2 3 1 10 100 A 10 20 30 2 20 200 100 200 3 30

  21. Operations on Matrices - 1  Now matrices!  Transpose :  convert each row → column vector (or convert each column→ row vector) A = [ 300 ] T = [ 300 ] 1 2 3 1 10 100 A 10 20 30 2 20 200 100 200 3 30 T = [ 30 ] 1 10 B = [ 30 ] 1 2 3 B 2 20 10 20 3

  22. Operations on Matrices - 2  Sum and product with scalar : pretty much the same [ 6 ] + [ 60 ] = [ 66 ] 1 2 3 10 20 30 11 22 33 4 5 40 50 44 55 5 ∗ [ 6 ] = [ 30 ] 1 2 3 5 10 15 4 5 20 25

  23. Matrix Product  Inner product → Matrix product C = AB  C = m x n, A = m x p, B = p x n, A c j B  Each entry of C is an inner product: c ij = r i [ .. ] = [ 60 ] [ ... ... ... 10 20 6 ] 1 2 3 190 ... ... 30 40 4 5 ... ... 50

  24. Matrix Product  Inner product → Matrix product octave:22> A = [10, 20; 30, 40; 50, 60] A = C = AB 10 20 30 40  C = m x n, A = m x p, B = p x n, 50 60 A c j octave:23> B = [1,2,3;4,5,6] B  Each entry of C is an inner product: c ij = r i B = 1 2 3 [ .. ] = [ 60 ] [ 4 5 6 ... ... ... 10 20 6 ] 1 2 3 octave:24> A*B 190 ... ... 30 40 ans = 4 5 ... ... 50 90 120 150 190 260 330 290 400 510

  25. Matrix Product  Inner product → Matrix product octave:22> A = [10, 20; 30, 40; 50, 60] C = AB A = 10 20 30 40  C = m x n, A = m x p, B = p x n, 50 60 A c j Matrix size is B  Each entry of C is an inner product: c ij = r i octave:25> Btrans = B' important Btrans = 1 4 [ .. ] = [ 60 ] [ 2 5 ... ... ... 10 20 6 ] 3 6 1 2 3 190 ... ... 30 40 4 5 octave:26> A*Btrans ... ... 50 error: operator *: nonconformant arguments (op1 is 3x2, op2 is 3x2)

  26. Matrix-Vector Product  Matrix-vector product is just a (frequently occurring) special case: Ab = [ a mn ] [ = [ b n ] c m ] a 11 ... a 1n b 1 c 1 ... ... ... ... ... a m1 ...

  27. Matrix-Vector Product  Also represents a system of equations! Ax = [ a mn ] [ x n ] = [ c m ] a 11 ... a 1n x 1 c 1 ... ... ... ... ... a m1 ... a 11 x 1 + a 12 x 2 + ... + a 1n x n = c 1 a 21 x 1 + a 22 x 2 + ... + a 2n x n = c 2 ... a m1 x 1 + a m2 x 2 + ... + a mn x n = c m

  28. Approximation of Data and Functions

  29. Approximations of Functions  Function approximation: Replace a function by a simpler one  Reasons:  Integration: replace a complex function with one that is easy to integrate.  Function may be very complex: e.g. result of simulation.  Function may be unknown...

  30. “Approximation of Data”  'the function unknown'  it is only known at certain points  x 0, y 0  ,  x 1, y 1  , ... ,  x n , y n   but we also want the know at other points  these points are called the data → “approximation of data”  Interpolation :  find a function that goes exactly through data point  Regression :  find a function that minimizes some error measure  better for noisy data. Related terms: curve fitting, extrapolation, classification 

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend