MATH 685/CSI 700 Lecture Notes

Download Report

Transcript MATH 685/CSI 700 Lecture Notes

Numerical Methods
Intro to Numerical Methods
&
Intro to Matlab Programming
By M Jamil Khan
Numerical Methods
What are numerical
methods and why should
you study them?
Numerical Methods
“Numerical
Methods
are
techniques
by
which
mathematical Problems are formulated so that they can be
solved with arithmetic and logical operations. Because
digital computers excel at performing such operations,
numerical methods are sometimes referred as computer
mathematics”.
Numerical Methods
In pre computer era , the time and effort of implementing
such calculations seriously limited their practical use.
However, with the advent of fast, inexpensive digital
computers, the role of numerical methods in engineering
and scientific problem solving has exploded.
Numerical Methods
Numerical methods figure so prominently in, much of our
work, I believe that numerical methods should be a part of
every engineer's and scientist's basic education. Just as we
all must have solid foundation in the other areas of
mathematics and science, we should also have a
fundamental understanding of numerical methods. In
particular, we should have a solid appreciation of both
their capabilities and their limitations.
Numerical Methods
Beyond contributing to your overall education. .there are
several additional reasons why you should study numerical
methods:
Numerical Methods
Numerical methods greatly expand the types of , problems
you can address. They are capable of handling large
systems of equations nonlinearities, and complicated
geometries that are not uncommon in engineering and
science and that are often impossible to solve analytically
with standard calculus. As such they greatly enhance your
problem-solving skills.
Numerical Methods
Numerical methods allow you to use "canned“ software
with insight. During your career, you will invariably have
occasion to use commercially available pre-packaged
computer programs that involve numerical methods. The
intelligent use of these programs is greatly enhanced by an
understanding of the basic theory underlying the methods.
In the absence of such understanding you will be left to
treat such packages as “black boxes“ with little critical
insight into their inner workings or the validity of the
results they produce.
Numerical Methods
Many problems cannot be approached using canned
programs. If you are conversant with numerical methods,
and are adept at computer programming, you can design
your own programs to solve problems without having to
buy or commission expensive software.
Numerical Methods
Numerical methods are an efficient vehicle for learning to
use computers. Because numerical methods are expressly
designed for computer implementation, they are ideal for
illustrating the computer's powers and limitations. When
you successfully implement numerical methods on a
computer, and then apply them to solve otherwise
intractable problems, you will be provided with a dramatic
demonstration of how computer can serve our professional
development. At the same time, you will also learn to
acknowledge and control the errors of approximation that
are part and parcel of large-scale numerical calculations.
Numerical Methods
Numerical methods provide a vehicle for you to reinforce
your understanding of mathematics. Because one function
of numerical methods is to reduce higher mathematics to
basic arithmetic operations. they get at the "nuts and bolts"
of
some
otherwise
obscure
topics.
Enhanced
understanding and insight can result from this alternative
perspective.
Books
Reference Books
•
A first Course in Numerical Analysis with C++ by Dr. Saeed
Akhtar Bhatti, 4th Edition.
•
Applied Numerical Methods using Matlab by Won Young Yang.
•
Applied Numerical Methods with Matlab for Engineers and
Scientists by Steven C. Chapra, 2nd Edition.
Grading Policy
 Unannounced Quizzes
20%
+ Attendance
 Lab Assignments
20%
(Late and Missed Submissions are Not Applicable)
+ Discipline
 Mid Exam
20%
 Final Exam
40%
Computer Usage
 You should be able to write a computer
code in a programming language you
know such as MATLAB or C.
Some Useful Links
http://web.uettaxila.edu.pk/CMS/FA2011/teNMTbs/
http://www.library.nu
http://www.google.com
http://www.codeproject.com
http://numericalmethods.eng.usf.edu
http://math.gmu.edu/introtomatlab.htm
http://www.mathworks.com
Feedback Request
Please mail questions and constructive comments to
[email protected]
Your feedback will be most appreciated
 On style, contents, detail, examples, clarity, conceptual
problems, exercises, missing information, depth, etc.
Local course support website
 http://web.uettaxila.edu.pk/CMS/SP2011/teNMTbs/
Course Objective
This course will emphasize the development of numerical
algorithms to provide solutions to common problems
formulated in science and engineering. The primary
objective of the course is to develop the basic
understanding of the construction of numerical algorithms,
and perhaps more importantly, the applicability and limits
of their appropriate use.
Course Outline
 Introduction to Numerical Methods
 Introduction to Matlab Programming
 Error Analysis
 Finite Differences
 Interpolation
 Numerical Differentiation
Course Outline
 Numerical Integration
 Ordinary Differential Equations
 Non Linear Equations
 Linear System of Equations
Today Objectives
The primary objective of today’s discussion is to provide
you with a concrete idea of what numerical methods are
and how they relate to engineering and scientific problem
solving. Specific objectives and topics covered are
• Learning how mathematical models can be formulated
on the basis of scientific principles t o simulate the
behavior of a simple physical system.
• Understanding how numerical methods afford a means
to generate solutions in a manner that can be
implemented on a digital computer.
Today Objectives
•
•
Understanding the different types of conservation laws
that lie beneath the models used in the various
engineering disciplines and appreciating the difference
between steady-state and dynamic solutions of these
models.
Learning about the different types of numerical
methods we will cover in this course.
A Simple Mathematical Model

A mathematical model can be broadly defined as a
formulation or equation that expresses the essential
features
of
a
physical
system
or
process
in
mathematical terms.

Models can be represented by a functional relationship
between dependent variables, independent variables,
parameters, and forcing functions.
Model Function
independent
Dependent
forcing 
 f 
, parameters,

variable
functions 
 variables

Dependent variable - a characteristic that usually
reflects the behavior or state of the system

Independent variables - dimensions, such as time and
space, along which the system’s behavior is being
determined.
Model Function

Parameters - constants reflective of the system’s
properties or composition

Forcing functions - external influences acting upon the
system
Model Function Example
Assuming a bungee jumper is in mid-flight, an
analytical model for the jumper’s velocity, accounting
for drag, is
vt 

 gc 
gm
d
tanh
t 
cd
 m 

Dependent variable - velocity v

Independent variables - time t

Parameters - mass m, drag coefficient cd

Forcing function - gravitational acceleration g
Model Results
Using a computer (or a calculator), the model can be used to generate a
graphical representation of the system. For example, the graph below
represents the velocity of a 68.1 kg jumper, assuming a drag coefficient
of 0.25 kg/m
Numerical Modeling

Some system models will be given as implicit functions or as differential
equations - these can be solved either using analytical methods or
numerical methods.

Example - the bungee jumper velocity equation from before is the
analytical
solution
to
the
differential
equation
dv
cd 2
 g v
dt
m
where the change in velocity is determined by the gravitational forces
acting on the jumper versus the drag force.
Numerical Methods
To solve the problem using a numerical method, note that the time rate
of change of velocity can be approximated as:
dv v vti1  vti 


dt t
ti1  ti
Numerical Results
The efficiency and accuracy of numerical methods will
depend upon how the method is applied. Applying the
previous method in 2 s intervals yields:
Analytical and Numerical Solutions:
Numerical
methods
are
techniques
by
which
mathematical problems are formulated so that they can be
solved with arithmetic and logical operations.
Numerical
Analytical
approximate
exact
more intuitive
less intuitive
easily coded
not so easy
easy to get
not so easy
Bases for Numerical Models
Basic Needs in the Numerical Methods:

Practical:
Can be computed in a reasonable amount of time.

Accurate:


Good approximate to the true value,
Information about the approximation error (Bounds,
error order,… ).
Solution of Nonlinear Equations

Some simple equations can be solved analytically:
x2  4x  3  0
Analyt icsolut ion roots 
4
4 2  4(1)(3)
2(1)
x  1 and x  3

Many other equations have no analytical solution:
9
2

x  2 x  5  0
 No analyt icsolut ion
x

xe

Methods for Solving Nonlinear
Equations
o
Bisection Method
o
Newton-Raphson Method
o
Secant Method
Solution of Systems of Linear
Equations
x1  x2  3
x1  2 x2  5
We can solveit as :
x1  3  x2 ,
3  x 2  2 x2  5
 x2  2, x1  3  2  1
What todo if we have
1000equationsin 1000unknowns.
Cramer’s Rule is Not Practical
Cramer's Rule can be used t o solve t hesyst em:
3 1
1 3
5 2
x1 
 1,
1 1
1 5
x2 
2
1 1
1 2
1 2
But Cramer's Rule is not practicalfor large problems.
T o solve N equationswit h N unknowns,we need (N  1)(N 1)N!
mult iplicat ions.
T o solve a 30 by 30 syst em,2.3 1035 mult iplicat ionsare needed.
A super comput erneeds more t han1020 years t o comput et his.
Methods for Solving Systems of
Linear Equations
o
Naive Gaussian Elimination
o
Gaussian Elimination with Scaled Partial
Pivoting
o
Algorithm for Tri-diagonal Equations
Curve Fitting


Given a set of data:
x
0
1
2
y
0.5
10.3
21.3
Select a curve that best fits the data. One choice is
to find the curve so that the sum of the square of
the error is minimized.
Interpolation


Given a set of data:
xi
0
1
2
yi
0.5
10.3
15.3
Find a polynomial P(x) whose graph passes
through all tabulated points.
yi  P( xi ) if xi is in the table
Methods for Curve Fitting
o
Least Squares
o
o
o
Linear Regression
Nonlinear Least Squares Problems
Interpolation
o
o
Newton Polynomial Interpolation
Lagrange Interpolation
Integration

Some functions can be integrated
analytically:
3
3
1 2
9 1
1 xdx  2 x 1  2  2  4
But manyfunctionshaveno analyticalsolutions:
a
e
0
 x2
dx  ?
Methods for Numerical
Integration
o
Upper and Lower Sums
o
Trapezoid Method
o
Romberg Method
o
Gauss Quadrature
Solution of Ordinary Differential
Equations
A solut ion ot t hedifferental
i equat ion:
x(t )  3 x (t )  3 x(t )  0
x (0)  1; x(0)  0
is a funct ionx(t) t hatsat isfies t heequat ions.
* Analyt icalsolut ionsare availablefor
specialcases only.
Solution of Partial Differential
Equations
Partial Differential Equations are more difficult
to solve than ordinary differential equations:
 u
2

 u
2
20
x
t
u (0, t )  u (1, t )  0, u ( x,0)  sin(x)
2
2
Bases for Numerical Models
Conservation laws provide the foundation for many model
functions.
Different fields of engineering and science
apply these laws to different paradigms within the field.
Among these laws are:
Conservation of mass
Conservation of momentum
Conservation of charge
Conservation of energy