ME2016 Computing Techniques, Section D

Fall 2008


Professor Al Ferri

Office: J. Erskine Love Jr. Manufacturing Building (MRDC-II), Rm 107
Phone: (404)-894-7403, (404)-894-8496 (FAX)
Email Address: al.ferri@me.gatech.edu
Office Hours: Tuesdays, 9:30 - 11am

Class Time: MWF 11:05-11:55am, Instruction Center Rm 211

Textbook: Numerical Methods for Engineers, 5th Edition, S.C. Chapra and R.P. Canale, McGraw-Hill, 2006. ISBN 0-07-291873-X

TA: Chris Frederick gtg074q@mail.gatech.edu Office Hours: Thursdays 3:30-4:30pm, Near vending machines in MRDC-I

Prerequisites:

CS 1371 Introduction to Computing
Math 1502 Calculus II
Math 2403 Differential Equations (co-requisite)

Course Description: 

An introduction to the use of computers and MATLAB programming for the solution of mechanical engineering problems. Topics include sources of error in computing, the use of modular software design, basic numerical methods, and signal processing.

Announcements/New Items:

  • Announcement 1:   Along with e-mail, the announcements section of the website is the primary means by which I will disseminate information to the class.
  • Announcement 2: Click on the link to get the program calc_exp.m
  • Announcement 3: Homework Assignment #1 is now avaliable in the table below
  • Announcement 4: Here is a link to an excellent site that explains Floating Point Numbers. This is the convention that we will be using in this class. Please note that it differs from the explanation of the text AND the convention that you will find in my old tests and exams. The website also explains how "zero" and "infinity" are handled in the IEEE standard.
  • Announcement 5: Powerpoint presentation on floating point numbers.
  • Announcement 6: Homework assignment 2 is available in the table below.
  • Announcement 7: Office hours this semester are Tuesdays, 9:30-11am.
  • Announcement 8: Example showing use of anonymous functions; application to Newton-Raphson.
  • Announcement 9: Homework Solution 3 has been posted in the table below.
  • Announcement 10: Please note that the course "topical outline" below is somewhat out-of-date. The topics that we cover this semester will differ.
  • Announcement 11: Naive Gaussian elimination program: gauss_elc.m.
  • Announcement 12: Vectorization and pivoting presentation. Here is a program that implements the vectorization and pivoting: gauss_el_piv.m.
  • Announcement 13: Test 1 will take place on Wednesday, September 17, 2008 in Rm 211, IC. The test will be closed-book, and closed-notes. The test will cover the material from class, from homework assignments and solutions, and text material. The primary text material is: Chapter 3 (All), Chapter 4 (Section 4.1, pp 73-89, and Section 4.3, especially Figure 4.8), Chapter 5 (Sections 5.1 and 5.2), and Chapter 6 (Sections 6.1, 6.2, and 6.5). Note: the floating-point representation used this semester is different than that used in the text and which was used in previous semesters. Thus, while the discussion in the text (pages 60-65) is useful from a conceptual point of view, the formulas (eg, for machine epsilon) that we will be using are different. You must be familiar with Matlab, both the programming logic and the syntax. You will be asked to write Matlab scripts and/or to debug Matlab scripts. You must also be familiar with any Matlab built-in functions that we have used in the homework, including the functions fzero, rand, and the proper use of anonymous functions. Bring your calculators in case calculators are allowed. Also, you are allowed to bring 1 sheet of 8.5x11-inch paper on which you can write HANDWRITTEN notes. They MUST be handwritten and the sheet must be ONE-SIDED only.
  • Announcement 14: Grade distributions for Test 1, Section D
  • Announcement 15: Test 1 Solutions: Section D.
  • Announcement 16: Powerpoint Example of condition number.
  • Announcement 17: HW6 and HW Solution 5 are available in the table below.
  • Announcement 18: Here is a link to the Presentation on Golden- Section algorithm.
  • Announcement 19: Test 2 will be pushed back to Wednesday, November 5, 2008
  • Announcement 20: Powerpoint presentation on Lagrange Interpolating Polynomials.
  • Announcement 21: Cubic-Spline Example: cubic_spline.pdf.
  • Announcement 22: Test 2 will take place on Wednesday, November 5, 2008 in your usual classroom. The test will be closed-book, and closed-notes. The test will cover the material from class, from homework (assignments 4-9) and homework solutions. The primary text material is: Sections 9.1-9.4, 9.6, 9.7, 10.1-10.3, 11.1, 11.2, 13.1, 14.2.1-14.2.2, 15.1.1-15.1.2, 17.1, 17.2, 17.4. As always, you are responsible for writing short Matlab programs/functions, and/or debugging Matlab code. Bring your calculators in case calculators are allowed. Also, it would be helpful to bring a ruler. You are allowed to bring 1 sheet of 8.5x11-inch paper on which you can write HANDWRITTEN notes. They MUST be handwritten and the sheet must be ONE-SIDED only.
  • Announcement 23: Grade distributions for Test 2, Section D
  • Announcement 24: Test 2 Solutions: Section D.
  • Announcement 25: Here's a link to a neat graphic explaining Gibbs phenomenon. From a Matlab perspective, here's a document showing the Gibb's phenomeno on a square wave: square_wave_fourier.doc.
  • Announcement 26: FFT example is available fft_example.pdf.
  • Announcement 27: Here's a link to a great interactive website that demonstrate aliasing Berkeley Site. In addition, here's my humble Matlab m-file that demonstrates aliasing aliasing_demo.m The m-file also shows the identification of a signal that is contaminated with noise; enter a noise amplitude of zero for a "clean signal." The code then prompts you to "decimate the signal," by taking every kth-point. When prompted, enter a number k greater than zero. If your selected value of k is too high, aliasing will occur. Try to predict when that will happen. To end the program, enter a value of k < 0.
  • Announcement 28: Powerpoint demonstration that shows what happens when the duration of the time record exceeds a period of the signal: Fourier_Series_FFT.ppt.
  • Announcement 29: Powerpoint introduction to Numerical integration: numerical_integration.ppt.
  • Announcement 30: Powerpoint introduction to Richardson Extrapolation and Romberg Integration: Richardson_me2016_1.ppt.
  • Announcement 31: Powerpoint introduction to Runge-Kutta methods: Runge_Kutta_methods.ppt.
  • Announcement 32: PDF on Finite-Difference for Two-Point-Boundary-Value-Problem (TPBVP): Finite_Difference_Example.pdf.
  • Announcement 33: I welcome everyone to evaluate this course: Course Instructor Online Survey (CIOS). Why not do it now?
  • Announcement 34: In addition to the "regular CIOS" this course has been selected to participate in a PILOT survey. To do this online survey, Please click here:: PILOT survey. It should take only 5-15 minutes of your time (depending on how many comments you choose to add).The survey will be open until Dec 14.
  • Announcement 35: Please review this detailed study guide for more specifics on the material that will be covered on the Final Exam.
  • Announcement 36: Here is a summary of the Matlab symbolic commands that you may find useful over your GT careers: symbolic_matlab.m. Enjoy!
  • Announcement 37: Here are the distributions for the Final Exam and the Final Cumulative Score.
  • Announcement 38: It has been a pleasure having you all in class this semester! Have a great holiday break.

Assignments:

Over the course of the semester, there will be approximately 12 homework assignments worth 10 points each. I will drop your lowest grade. Working in groups is allowed but each student must turn in their own homework. Attempt each problem on your own first before seeking help from others. Spending quality time working homework is the best way to succeed on the tests and final exam. Each homework assignment will have a Matlab component. In your homework submission, please include: all handwritten material, all Matlab commands, scripts, programs/functions that you write, all tables or plots that you generate. Every test will have a Matlab question or two that asks you to code an algorithm, debug a script, etc.

Links to the solutions are posted in last column when they are available.

   
Assignment
Due Date
   Solutions
Hwk 1: Errors and plotting
  8/27/08
  HW1 Solution
Hwk 2: Taylor series and roots
  9/3/08
  HW2 Solution
Hwk 3: Root Solving
  9/10/08
 HW3 Solution
Hwk 4: Gaussian Elimination
9/24/08
 HW4 Solution
Hwk 5: Truss Structure
10/1/08
HW5 Solution
Hwk 6: LU and Matrix Condition number
10/08/08
HW6 Solution
Hwk 7: Gauss-Seidel and Golden-Section
10/15/08
HW7 Solution
Hwk 8: Truss Optimization
10/22/08
HW8 Solution
Hwk 9: Optimization and linear regression
10/29/08
HW9 Solution
Hwk 10: Fourier Series, FFTs
Nov 19, 2008
HW10 Solution
Hwk 11: Numerical Integration
Nov 26, 2008
HW11 Solution
Hwk 12: Runge Kutta Methods
Dec 3, 2008
HW12 Solution

Grading Policy:

  • Test 1 (Wednesday, Sept. 17) 25%
  • Test 2 (Wednesday, No. 5) 30%
  • Final Exam (Section D: Friday, 12/12/06, 2:50-5:40pm) 35%
  • Homework 10%.


    Academic Integrity:

    Academic honesty is essential to achieve high-quality education and to maintain the value of a Georgia Tech diploma. While I encourage you to work together and to form study groups, it is important that you take responsibility for the content of all assignments. Cheating on tests and final exams will not be tolerated. When uncovered, violations will be reported to the Dean of Students immediately. A valuable resource for the Georgia Tech Student Code of Conduct and the Academic Honor Code is: http://www.honor.gatech.edu/honorcode/honorcode.html.





    Sample Tests from Previous Semesters and Quarters:

  • ME2016 Test 1, Spring Semester 2004
  • ME2016 Test 1, Spring Semester 2005 (corrected)
  • ME2016 Test 2, Spring Semester 2004
  • ME2016 Test 2, Spring Semester 2005
  • ME2016 Final Exam, Spring Semester 2004
  • ME2016 Final Exam, Spring Semester 2005

    schedule.gif (1094 bytes) Course Schedule

    Week 1

    • Introduction to ME2016
    • Review of Matlab environment and commands
          Text coverage: Chapter 2

    Week 2

    • Approximations and round-off errors
    • Computer representation of integers and floating point numbers
    • Matlab programs and functions
          Text coverage: Chapter 3

    Week 3

    • Labor Day
    • Truncation errors and the Taylor series
    • Finite difference approximation of derivatives
    • Bisection method for root solving
        Text coverage: Chapter 4, Section 5.1-5.2

    Week 4

    • False-position method
    • Fixed-point iteration
    • Newton-Raphson method
    • Secant method
          Text coverage: Chapters 5,6

    Week 5

    • Applications and review
    • Test 1
    • Matlab commands useful for matrix manipulation
          Text coverage: Chapter 7

    Week 6

    • Cramer's Rule
    • Naive Gaussian Elimination
          Text coverage: Sections 9.1-9.2

    Week 7

    • Pitfalls of elimination methods, ill-conditioning
    • Effect of scaling
    • Partial/Full pivoting
    • Gauss-Jordan elimination
    • LU decomposition
          Text coverage: 9.2-9.4; 9.7; 10.1-10.1.3

    Week 8

    • LU-decomposition
    • Crout decomposition
    • Matrix inverse
    • Matrix condition number
    • Cholesky decomposition
    • Gauss-Seidel and Jacobi iteration
    • Drop Day
          Text coverage: 10.1.4-10.3; Chapter 11

    Week 9

    • Fall Break
    • One-dimensional optimization
    • Multidimensional unconstrained optimization
    • Linear programming
          Text coverage: Chapters 13-15

    Week 10

    • Curve fitting
    • Least-squares regression
          Text coverage: Chapter 17

    Week 11

    • Interpolation
    • Test 2
    • Lagrange polynomials
    • Splines
          Text coverage: Chapter 18

    Week 12

    • Fourier Approximations
    • Fourier transform, DFT, and FFT
          Text coverage: Sections 19.1-19.6; 19.8.3

    Week 13

    • Numerical integration
    • Trapezoidal, Simpson's rules
          Text coverage: Chapters 21-22

    Week 14

    • Numerical differentiation
    • Ordinary differential equations (ode's)
    • Runge-Kutta Methods
    • Thanksgiving Break
          Text coverage: Chapters 23 and 25

    Week 15

    • Systems of ode's
    • Finite difference methods
    • Boundary-Value Problems
          Text coverage:

    Week 16

    • Special Topics
          Text coverage: