Presentation is loading. Please wait.

Presentation is loading. Please wait.

Error: Finding Creative ways to Screw Up CS 170: Computing for the Sciences and Mathematics.

Similar presentations


Presentation on theme: "Error: Finding Creative ways to Screw Up CS 170: Computing for the Sciences and Mathematics."— Presentation transcript:

1 Error: Finding Creative ways to Screw Up CS 170: Computing for the Sciences and Mathematics

2 Administrivia Last time  Basics of modeling  Assigned HW 1 Today  HW1 due!  Assign HW 2 Monday 9/13– NO CLASS

3 Error What is the value of a model…  That is completely wrong  That is a perfect match to a physical system  That may be off by as much as 5%

4 Types of Error Input Data Errors  Faulty/inaccurate sensors, poorly calibrated, mis-read results.. Modeling Errors  Poor assumptions, bad math, mis-understanding of system Implementation Errors  Bug in computer program, poor programming  Precision  The limits of finite number representation

5 Input Data Errors NSIDC  Sensor drift led to their real-time sea ice estimates to be off by over 500,000 km 2  Still only off by 4%  http://nsidc.org/arcticseaicenews/2009/022609.html http://nsidc.org/arcticseaicenews/2009/022609.html

6 Modeling Errors Obvious type: math formulation errors, mis-writing a formula, etc. By virtue of making assumptions and simplifications, models will have “error” versus reality.  This isn’t necessarily a bad thing, as long as we manage it well Lord Kelvin used his knowledge of temperature dissipation to estimate that the earth was between 20-40 million years old.  Actual: ~12 billion  Assumed there was no heat source but the sun

7 Implementation Errors Incorrect programming (a “bug”)  Didn’t implement the model correctly  Wrong equations  Mis-defined inputs/outputs  Implemented the solution to a different problem Precision Errors  Computers only have so much space to store numbers  This limits the range and precision of values!

8 Precision Errors In a computer, a number is stored in a number of bits (binary digits)  IEEE 754 standard floating point  Variation on standard normalized scientific notation  single-precision is 32 bits  double-precision is 64 bits  Stored in 3 parts  sign (1 bit) – is it positive or negative?  magnitude – what is the exponent?  mantissa/significand – what is the number? i.e. 6.0221415 × 10 23

9 Exponential notation Example: 698.043990  10 3 Fractional part or significand?  698043990 Exponent? 33 Normalized?  6.98043990  10 5

10 Significant digits Significant digits of floating point number  All digits except leading zeros  Number of significant digits in 698.043990  10 3 ?  9 significant digits Precision  Number of significant digits

11 Round-off error Problem of not having enough bits to store entire floating point number Example: 0.698043990  10 5 if only can store 6 significant digits, rounded?  0.698044  10 5 Do not test directly for equality of floating point variables  Note that many numbers that seem “safe” really aren’t!  i.e. 0.2 is an infinite repeating series when expressed in binary

12 Absolute error |correct – result| Example: correct = 0.698043990  10 5 and result = 0.698043  10 5 Absolute error = ?  |0.698043990  10 5 - 0.698043  10 5 | = 0.00000990  10 5 = 0.990

13 Relative error |(correct - result) / correct| Example: (correct - result) = 0.990 and correct = 0.698043990  10 5  0.990/(0.698043990  10 5 ) = 1.4182487  10 -5

14 Relative error Why consider relative errors?  1,000,000 vs. 1,000,001  1 vs. 2 Absolute error for these is the same! If exact answer is 0 or close to 0, use absolute error  Why?

15 Addition and subtraction errors Beware if there is a big difference in the magnitude of numbers! Example: (0.65  10 5 ) + (0.98  10 -5 ) = ?  65000 + 0.0000098 = 65000.0000098 Suppose we can only store 6 significant digits?  65000.0 = (0.650000  10 5 )

16 Associative property Does not necessarily hold! Sum of many small numbers + large number may not equal adding each small number to large number Similarly, distributive property does not necessarily hold

17 To reduce numerical errors Round-off errors  Use maximum number of significant digits If big difference in magnitude of numbers  Add from smallest to largest numbers

18 Error Propagation (Accumulated Error) Example: repeatedly executing: t = t + dt Better to repeatedly increment i and calculate: t = i * dt

19 Overflow/underflow Overflow - error condition that occurs when not enough bits to express value in computer Underflow - error condition that occurs when result of computation is too small for computer to represent

20 Truncation error  Error that occurs when truncated, or finite, sum is used as approximation for sum of infinite series

21 Error is Not Inherently Bad Almost all of these issues can be managed and controlled! A certain amount of error is normal What’s important is that we:  Know how much error there might be  Keep it within a bound that allows the results to still be valid

22

23 Rates: The Basics of Calculus

24 Calculus Mathematics of change Two parts  Differential calculus  Integral calculus

25 Rates “Rate of Change”  Often depends on current amounts Rates are important in a lot of simulations  growth/decay of…  populations  materials/concentrations  radioactivity  money  motion  force  pressure

26 Height (y) in m vs time (t) in sec of ball thrown up from bridge

27 Average velocity between 0 sec & 1 sec? between 1 sec & 2 sec? between 0.75 sec & 1.25 sec? Estimate of instantaneous velocity at t = 1 sec? Time (t) in seconds Height (y) in meters 0.0011.0000 0.2514.4438 0.5017.2750 0.7519.4938 1.0021.1000 1.2522.0938 1.5022.4750 1.7522.2438 2.0021.4000 2.2519.9437 2.5017.8750 2.7515.1937 3.0011.9000 3.257.9938 3.503.4750 3.75-1.6563

28 Derivative Derivative of y = s(t) with respect to t at t = a is the instantaneous rate of change of s with respect to t at a (provided limit exists):

29 Derivative at a point is the slope of the curve at that point

30 Differential Equation Equation that contains a derivative Velocity function  v(t) = dy/dt = s'(t) = -9.8t + 15 Initial condition  y 0 = s(0) = 11 Solution:  function y = s(t) that satisfies equation and initial condition(s)  in this case:  s(t) = -4.9t 2 + 15t + 11

31 Second Derivative Acceleration - rate of change of velocity with respect to time Second derivative of function y = s(t) is the derivative of the derivative of y with respect to independent variable t Notation  s''(t)  d 2 y/dt 2

32 Systems Dynamics Software package that makes working with rates much easier. Components include:  “Stocks” – collections of things (noun)  “Flow” – activity that changes a stock (verb)  “Variables” – constants or equations – converter  “Connector” – denotes input/information being trasmitted

33 HOMEWORK! READ pages 17-48 in the textbook On your own  Work through the Vensim PLE tutorial  Turn-in the final result files on W: Vensim is being deployed tonight. If there is a problem, I will notify everyone ASAP. NO CLASS on Monday


Download ppt "Error: Finding Creative ways to Screw Up CS 170: Computing for the Sciences and Mathematics."

Similar presentations


Ads by Google