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

Click here to load reader

Post on 17-Jan-2016

219 views

Category:

Documents

0 download

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