# ma/cs375 fall 2002 1 ma/cs 375 fall 2002 lecture 7

Click here to load reader

Post on 17-Jan-2016

219 views

Embed Size (px)

TRANSCRIPT

MA/CS 375Fall 2002Lecture 7

MA/CS375 Fall 2002

Explanations of Team Examples

MA/CS375 Fall 2002

Recall Monster #1Consider:

What should its behavior be as:

Plot this function at 1000 points in:

Plot this function at 1000 points in:

Explain what is going on.

MA/CS375 Fall 2002

Monster #1((large+small)-large)/small

MA/CS375 Fall 2002

Monster #1((large+small)-large)/smallwhen we zoom in we see that the large+small operation is introducing order eps errors which we then divide with eps to get O(1) errors !.

MA/CS375 Fall 2002

Monster #1((large+small)-large)/smallwhen we zoom in we see that the large+small operation is introducing order eps errors which we then divide with eps to get O(1) errors !.Each stripe is a regionwhere 1+ x is a constant(think about the gaps between numbers in finite precision)

Then we divide by x and the stripes look like hyperbola.

The formula looks like (c-1)/x with a new c for each stripe.

MA/CS375 Fall 2002

Recall Monster #2Consider:

What should its behavior be as:

Plot this function at 1000 points in:

Explain what is going on in a text box, label everything, print it out and hand it in.

MA/CS375 Fall 2002

Limit of

MA/CS375 Fall 2002

Monster #2(finite precision effects from large*small)As x increases past 30 we seethat f deviates from 1 !!

MA/CS375 Fall 2002

Monster #2 cont(finite precision effects from large*small)As x increases past ~=36 we see that f drops to 0 !!

MA/CS375 Fall 2002

Consider:

What should its behavior be as:

Plot this function at 1000 points in:

Explain what is going on. What happens at x=54? Recall Monster #3

MA/CS375 Fall 2002

Monster 3(finite precision large*small with binary stripes)

MA/CS375 Fall 2002

Monster 3(finite precision large*small with binary stripes)As we require more than 52 bits to represent 1+2^(-x) we see that the log term drops to 0.

MA/CS375 Fall 2002

RecallMonster #4Consider:

What should its behavior be as:

Plot four subplots of the function at 1000 points in: for

Now fix x=0.5 and plot this as a function of for

Explain what is going on, print out and hand in.

MA/CS375 Fall 2002

Monster 4 contBehavior as delta 0 :or if you are feeling lazy use the definition of derivative, and remember: d(sin(x))/dx = cos(x)

MA/CS375 Fall 2002

Monster 4 cont(parameter differentiation, delta=1e-4)OK

MA/CS375 Fall 2002

Monster 4 cont (parameter differentiation, delta=1e-7)OK

MA/CS375 Fall 2002

Monster 4 cont (parameter differentiation, delta=1e-12)Worse

MA/CS375 Fall 2002

Monster 4 cont (parameter differentiation, delta=1e-15)When we make the delta around about machine precision we see O(1) errors !.Bad

MA/CS375 Fall 2002

Monster 4 cont (numerical instablitiy of parameter differentiation)As delta gets smaller we see that the approximation improves, until delta ~= 1e-8 when it gets worse and eventually the approximate derivate becomes zero.

MA/CS375 Fall 2002

Approximate Explanation of Monster #41) Taylors thm:

2) Round off errors

3) Round off in computation of f and x+delta

4) Put this together:

MA/CS375 Fall 2002

i.e. for or equivalently approximation error decreases as delta decrease in size.

BUT for round off dominates!.

MA/CS375 Fall 2002

Ok so these were extreme casesReiteration: the numerical errors were decreasing as delta decreased until delta was approximately 1e-8

MA/CS375 Fall 2002

Matlab Built-in Derivative Routinesdiff takes the derivative of a function of one variable sampled at a set of discrete points

gradient takes the x and y derivatives of a function of two variables

MA/CS375 Fall 2002

diffdemo.mUsing diff on

F = x^3diff

MA/CS375 Fall 2002

MA/CS375 Fall 2002

diffdiffdemo.mUsing diff on

F = sin(x)

MA/CS375 Fall 2002

MA/CS375 Fall 2002

gradientgradientdemo.mUsing gradient on

F = x^2

MA/CS375 Fall 2002

MA/CS375 Fall 2002

Using gradient on

F = x^2+y^2gradientdemo1.m

MA/CS375 Fall 2002

MA/CS375 Fall 2002

Using gradient on

F = (x^2)*(y^2)gradientdemo2.m

MA/CS375 Fall 2002

MA/CS375 Fall 2002

Using gradient on

F = (sin(pi*x))*(cos(pi*y))gradientdemo3.m

MA/CS375 Fall 2002

MA/CS375 Fall 2002

CommentsNext time we will revisit the accuracy of taking derivatives

MA/CS375 Fall 2002

SummaryOk so in the far limits of the range of finite precision really dodgy things happen. But recall, the formula for the derivative of sine worked pretty well for a large range of numbers. Try to avoid working with two widely separated numbers.

MA/CS375 Fall 2002