1 / 60

MA/CS 375

MA/CS 375. Fall 2002 Lecture Summary Week 1  We ek 7. Theoretical Exercise. Say we wish to design a self-playing computer game like asteroids . The player controls a rocket. There are enemy rockets who can shoot torpedoes and who can ram the player.

valiant
Télécharger la présentation

MA/CS 375

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. MA/CS 375 Fall 2002 Lecture Summary Week 1 Week 7

  2. Theoretical Exercise • Say we wish to design a self-playing computer game like asteroids. • The player controls a rocket. • There are enemy rockets who can shoot torpedoes and who can ram the player. • There are moving asteroids of fairly arbitrary shape. • Let’s work through the details involved……

  3. Review • We are going to do a fast review from basics to conclusion.

  4. Week 1 • Basics

  5. Ok – Cast your minds back We are first faced with a text prompt:

  6. Basic Math We can create our own variables and apply basicalgebraic operations on these variables. Basic operations include addition (+), multiplication (*), subtraction (-), division (/ or \).

  7. a = 1 b = a/2 c = b*3 Do the math and: b = a/2 = ½ c = b*3 = 1.5

  8. Basic Arrays (Matrices) • We can create one- or two-dimensional variables of arbitrary size. • We can then apply basic linear algebra operations on these.

  9. Example 2 A is a matrix with 3 rows and 2 columns.

  10. Matrix Addition in Matlab

  11. Matrix Subtraction in Matlab

  12. Matrix Multiplication • There is a specific definition of matrix multiplication. • In index notation: • i.e. for the (i,j) of the result matrix C we take the i’th row of A and multiply it, entry wise, with the j’th column of B

  13. Example 4(matrix multiplication)

  14. Functions in Matlab • Matlab has a number of built-in functions: • cos, sin, tan, acos, asin, atan • cosh, sinh, tanh, acosh, asinh, atanh • exp, log, sqrt • They all take matrices as arguments and return matrices of the same dimensions. • e.g. cos([1 2 3]) • For other functions type: > help matlab\elfun

  15. Example of Function of Vector

  16. Custom-Made Matlab Functions Say we wish to create a function that turns Cartesian coordinates into polar coordinates. We can create a text file with the following text. It can be called like any built in function. function [ radius, theta] = myfunc( x, y) % this is a comment, just like // in C++ % now create and evaluate theta (in radians) theta = atan2(y,x); % now create and evaluate radius radius = sqrt( x.^2 + y.^2); function end

  17. Make sure you use cdin Matlab to change to the directory containing myfunc.m the arguments to myfunccould also have been matrices – leading to two matrices being output. Custom Built Function For Matlab

  18. Matlab as Programming Language • We can actually treat Matlab as a coding language. • It allows script and/or functions. • Loops are allowed, but since Matlab is an interpreted language, their use can lead to slow code.

  19. Loops in Matlab One variant of Matlab loop syntax is: for var=start:end commands; end

  20. Say I want to add the numbers from 1 to 10, without using the Matlab intrinsic sum. Example of a Matlab Loop

  21. Week 2 • Plotting • Finite precision effects

  22. Plotting • Recall we can create a function of a vector. • Then plot the vector as one ordinate and the function of the vector as the other ordinate.

  23. Example 5(figure created by Matlab)

  24. Adding Titles, Captions, Labels, Multiple Plots

  25. subplot • If you wish to create a figure with two sub-figures you can use the subplot function: • subplot(1,2,1) requests1 row of figures2 columns of figures1st figure

  26. subplot(1,2,1) subplot(1,2,2)

  27. Starting Numerics • We next considered some limitations inherent in fixed, finite-precision representation of floating point numbers.

  28. A Convergent Binary Representation of Any Number Between 0 and 1 a similar representation in base 10: Volunteer ?

  29. Finite Binary Approximations of a Real Number We can easily show that TN is bounded as: (think of Zeno’s paradox)

  30. Monster #1 • Consider: • What should its behavior be as: • Use subplots for the following 2 plots • Plot this function at 1000 points in: • Plot this function at 1000 points in: • Label everything nicely, include your name in the title. • In a text box explain what is going on, print it out and hand it in

  31. Monster #1 Each stripe is a region where 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. when 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 !.

  32. Monster #2 • Consider: • What should its behavior be as:

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

  34. Limit of

  35. Monster #4 • Consider: • What should its behavior be as:

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

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

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

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

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

  41. Approximate Explanation of Monster #4 1) Taylor’s thm: 2) Round off errors 3) Round off in computation of f and x+delta 4) Put this together:

  42. i.e. for or equivalently approximation error decreases as delta decreases in size. BUT for round off dominates!.

  43. Week 3 & 4 • We covered taking approximate derivatives in Matlab and manipulating images as matrices.

  44. Week 5 • Approximation of the solution to ordinary differential equations. • Adams-Bashforth schemes. • Runge-Kutta time integrators.

  45. Ordinary Differential Equation • Example: • t is a variable for time • u is a function dependent on t • given u at t = 0 • given that for all t the slope of us is –u • what is the value of u at t=T

  46. Forward Euler Numerical Scheme • Numerical scheme: • Discrete scheme: where:

  47. Summary of dt Stability • 0 < dt <1 stable and convergent since as dt  0 the solution approached the actual solution. • 1 <= dt < 2 bounded but not cool. • 2 <= dt exponentially growing, unstable and definitely not cool.

  48. Application: Newtonian Motion

  49. N-Body Newtonian Gravitation Simulation • Goal: to find out where all the objects are after a time T • We need to specify the initial velocity and positions of the objects. • Next we need a numerical scheme to advance the equations in time. • Can use forward Euler…. as a first approach.

More Related