matrices, linear systems, integration - mit opencourseware · matrices, linear systems, integration...

16
Recitation 11 Matrices, Linear Systems, Integration 1

Upload: others

Post on 18-Mar-2020

16 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Matrices, Linear Systems, Integration - MIT OpenCourseWare · Matrices, Linear Systems, Integration Outline • Matrices • Linear Equations • Integration 2. ... functions in Java

Recitation 11

Matrices, Linear Systems, Integration

1

Page 2: Matrices, Linear Systems, Integration - MIT OpenCourseWare · Matrices, Linear Systems, Integration Outline • Matrices • Linear Equations • Integration 2. ... functions in Java

Outline

• Matrices

• Linear Equations

• Integration

2

Page 3: Matrices, Linear Systems, Integration - MIT OpenCourseWare · Matrices, Linear Systems, Integration Outline • Matrices • Linear Equations • Integration 2. ... functions in Java

Matrix Representation

Represent matrices as two dimensional arrays

a is a 1-D array of references to 1-D arrays of data.

ref a[0]

ref a[1]

ref a[2]

1 2 3 4

5 6 7 8

9 10 11 12

a = ref a

c = refA1

b = 3

int[][] a = new int[3][4];

a[0][0] = 1;

a[0][1] = 2;

// ...

b = a[0][3];

c = a[1];

No. of Columns:

No. of Rows:

a[0].length

a.length 3

Page 4: Matrices, Linear Systems, Integration - MIT OpenCourseWare · Matrices, Linear Systems, Integration Outline • Matrices • Linear Equations • Integration 2. ... functions in Java

Matrix Representation

• You can create 2-D arrays manually or use Matrix class

• The Matrix class has methods for setting elements, adding, subtracting, and multiplying matrices, and forming an identity matrix.

public static void main(...)

{

int[][] a= new int[3][4];

a[0][0]= 1;

a[0][1]= 2;

...

a[2][3]= 12;

int b= a[0][2];

int[] c= a[1];

}

4

Page 5: Matrices, Linear Systems, Integration - MIT OpenCourseWare · Matrices, Linear Systems, Integration Outline • Matrices • Linear Equations • Integration 2. ... functions in Java

Matrix Exercise

• Add a method to Matrix to compute the transpose of a matrix

public class Matrix { private double[][] data;

public Matrix(int m, int n) {data = new double[m][n];}

public int getNumRows() {return data.length;}

public int getNumCols() {return data[0].length;}

public double getElement(int i, int j) {

return data[i][j];

}

public void setElement(int i, int j, double val) {

data[i][j] = val;

}

}

5

Page 6: Matrices, Linear Systems, Integration - MIT OpenCourseWare · Matrices, Linear Systems, Integration Outline • Matrices • Linear Equations • Integration 2. ... functions in Java

Linear Systems

• Matrices used to represent systems of linear equations

• Assume coefficients a and b are known, x is unknown

• There n unknowns (x0 to xn-1) and m equations

6

Page 7: Matrices, Linear Systems, Integration - MIT OpenCourseWare · Matrices, Linear Systems, Integration Outline • Matrices • Linear Equations • Integration 2. ... functions in Java

Linear Systems

Solve using Gaussian Elimination: forward solve, backward solve

Problem Statement

Eliminate x from L2, L3

Eliminate y from L3

Now backward solve: find z from L3, y from L2, x from L1

Source: Wikipedia, "Gaussian elimination" License CC BY-SA. This content is excluded fromour Creative Commons license. For more information, see http://ocw.mit.edu/fairuse.

7

Page 8: Matrices, Linear Systems, Integration - MIT OpenCourseWare · Matrices, Linear Systems, Integration Outline • Matrices • Linear Equations • Integration 2. ... functions in Java

Linear System Exercise

• La Verde’s bakes muffins and donuts using flour and sugar.

• Same profit for one muffin and one donut.

• How many donuts, muffins to maximize profit?

Flour Needed

Sugar Needed

Muffin 100 g 50 g

Donut 75 g 75 g

Ingredient Supply

Flour 20 kg

Sugar 15 kg

8

Page 9: Matrices, Linear Systems, Integration - MIT OpenCourseWare · Matrices, Linear Systems, Integration Outline • Matrices • Linear Equations • Integration 2. ... functions in Java

Linear System Exercise

• Model as system of equations:

100m + 75d = 20000 flour constraint

50m + 75d = 15000 sugar constraint

• Create the matrices (in the form of Ax=b)

• Use Matrix.setElement() and Matrix.gaussian()

15000

20000

7550

75100

d

m

A x = b

9

Page 10: Matrices, Linear Systems, Integration - MIT OpenCourseWare · Matrices, Linear Systems, Integration Outline • Matrices • Linear Equations • Integration 2. ... functions in Java

Integration

• We use objects to represent mathematical functions in Java

• Each function has its own class

• Each class implements MathFunction

public class LinearF implements MathFunction {

public double f(double x){

return 2 * x + 3;

}

}

public interface MathFunction{

public double f(double x);

}

f(x) = 2x + 3

10

Page 11: Matrices, Linear Systems, Integration - MIT OpenCourseWare · Matrices, Linear Systems, Integration Outline • Matrices • Linear Equations • Integration 2. ... functions in Java

Integration

Rectangular Rule

Trapezoidal Rule

Simpson's Rule

11

Page 12: Matrices, Linear Systems, Integration - MIT OpenCourseWare · Matrices, Linear Systems, Integration Outline • Matrices • Linear Equations • Integration 2. ... functions in Java

Improved Trapezoidal Rule

Keep cutting intervals in half until desired accuracy is met. Function evaluations are stored to avoid re-computation.

12

Page 13: Matrices, Linear Systems, Integration - MIT OpenCourseWare · Matrices, Linear Systems, Integration Outline • Matrices • Linear Equations • Integration 2. ... functions in Java

Integration Exercise

Compute the shaded surface area using Monte Carlo integration with 1,000,000 random points. Use MonteCarloIntegration.java from lecture as a starting point.

r = 1 a r = 1

13

Page 14: Matrices, Linear Systems, Integration - MIT OpenCourseWare · Matrices, Linear Systems, Integration Outline • Matrices • Linear Equations • Integration 2. ... functions in Java

Integration Exercise

Bounding Area = 2r * (4r - a) (x,y) is in left circle if (x + r - a/2)2 + y2 < 1 (x,y) is in right circle if (x - 1 + a/2)2 + y2 < 1

y

x

r a r

Write a method to find area when r = 1 14

Page 15: Matrices, Linear Systems, Integration - MIT OpenCourseWare · Matrices, Linear Systems, Integration Outline • Matrices • Linear Equations • Integration 2. ... functions in Java

Problem Set 10

• Find currents and voltages in resistor/battery network

• Build a matrices for resistor values, voltages • Solve for currents. Use Matrix class from lecture.

15

Page 16: Matrices, Linear Systems, Integration - MIT OpenCourseWare · Matrices, Linear Systems, Integration Outline • Matrices • Linear Equations • Integration 2. ... functions in Java

MIT OpenCourseWarehttp://ocw.mit.edu

1.00 / 1.001 / 1.002 Introduction to Computers and Engineering Problem SolvingSpring 2012

For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms.