Numerical Methods
Dr. Thai Minh Quan
Tel: 081.555.9669
Thai-minh.quan@usth.edu.vn
1
Time Commitment
Lecture 22 hrs Saturday/Monday
Practicals 18 hrs Group
Total 40 hrs
Thai Minh Quan - Numerical Methods 2
Lecturer
Dr. Thai Minh Quan
General Lecture • 081.555.9669
• Thai-minh.quan@usth.edu.vn
Dr. Giang Anh Tuan
Dr. Phan Thanh Hien
Practical work
(computer lab) Dr. Pham Duc Binh
PhD. Tran Anh Tu
PhD. Nguyen Dinh Vu
Thai Minh Quan - Numerical Methods 3
Evaluation
Attendance/Attitude 10%
Exercises 10%
Mid-term test 30%
Final exam 50%
Total 100%
Thai Minh Quan - Numerical Methods 4
Content No Contents
Hours
Ref./Resources
Lect
Prc.
Exr.
.
1 Introduction 3 1 [1]: Chap 1-2
Roots of Non-linear equations
2 3 1.5 [1] Chap 6
Systems of linear equations
3 3 2 [1] Chap 9
4 LU decomposition 2 2 [1] Chap 10
5 Curve fitting 1 1
6 Linear Programming 1 1 [1] Chap 15
Numerical Differentiation and
7 2 3 [1] Chap 21-23
Integration
Thai Minh Quan - Numerical Methods 5
References
Book: S.C Chapra et al., "Numerical methods for Engineers“, 6th Edition,
MacGraw-Hill, 2006
Book: Introduction to Numerical Methods and Matlab Programming for
Engineers. - Todd Young and Martin J. Mohlenkamp
Lecture notes – Thai Minh Quan in Classroom
https://classroom.google.com
Thai Minh Quan - Numerical Methods 6
References
Login: USTH mail
CODE: …….
Thai Minh Quan - Numerical Methods 7
Motivation
x 3 0
x2 2x 3 0
Analytical method
x3 2 x 2 2 x 3 0
x 4 x3 2 x 2 3x 3 0
x5 x 4 x3 2 x 2 3x 3 0
an x n an 1 x n 1 ... a2 x 2 a1 x a0 0
Numerical methods
Thai Minh Quan - Numerical Methods 8
Motivation
Or…
fluid flow
Analytical methods ?
Numerical methods
Thai Minh Quan - Numerical Methods 9
Motivation
Fourier's law
Or…
Analytical methods ?
Numerical methods
Thai Minh Quan - Numerical Methods 10
Motivation
Or…
Analytical methods ?
Numerical methods
Thai Minh Quan - Numerical Methods 11
Reasons to study
Solve problems with no analytic solution
Non-linear equations
Complex behaviors
Understand these methods
- Gain familiarity with common algorithms
- Computing realities and calculations in principle
Thai Minh Quan - Numerical Methods 12
What is Numerical Method
Numerical method is an approach for solving complex
mathematical problem using only simple arithmetic operations
The approach involves formulation of model of physical
situations that can be solved with arithmetic operations
Step involved
1. Formulation of mathematical model
2. Construction of an appropriate numerical method
3. Implementation of the method to obtain a solution
4. Validation of the solution
Thai Minh Quan - Numerical Methods 13
Mathematical model
Physical Mathematical Solution
Problems Model
Identify control variables
Assumptions (empirical law)
Thai Minh Quan - Numerical Methods 14
Analysis Method
Thai Minh Quan - Numerical Methods 15
Characteristics of Numerical Methods
1. The solution procedure is iterative, with the accuracy of the
solution improving with each iteration
2. The solution procedure provides only an approximation to
the true, but unknown, solution
3. The algorithm is simple and can be easily programmed
4. The solution procedure may occasionally diverge from
rather than converge to the true solution
Thai Minh Quan - Numerical Methods 16
Some applications
Thai Minh Quan - Numerical Methods 17
Some applications
Thai Minh Quan - Numerical Methods 18
Some applications
Thai Minh Quan - Numerical Methods 19
Some applications
Thai Minh Quan - Numerical Methods 20
Example
Thai Minh Quan - Numerical Methods 21
Analytical method
Thai Minh Quan - Numerical Methods 22
Numerical method
Thai Minh Quan - Numerical Methods 23
Numerical method
This equation can then be rearranged to yield
This approach is formally called Euler’s method
Thai Minh Quan - Numerical Methods 24
Numerical method
Thai Minh Quan - Numerical Methods 25
Numerical method
Approximations and
Round-Off Errors
Comparison of the numerical and analytical solutions
for the bungee jumper problem
Thai Minh Quan - Numerical Methods 26
Approximations and Round-Off Errors
1. the numerical method involved an approximation => error
2. the availability of an analytical solution allowed us to
compute the error exactly
3. Many applied engineering problems, we cannot obtain
analytical solutions => estimates of the errors
Thai Minh Quan - Numerical Methods 27
Significant figures
Significant figures (significant digits) of a number are digits in the number
that are reliable and absolutely necessary to indicate the quantity of
something
• Ex: 0.00001845, 0.0001845, and 0.001845 all
have four significant figures.
• Computers retain only a finite number of
significant figures => round-off error. Ex:
12.34525 kg => 12.345 kg
Thai Minh Quan - Numerical Methods 28
ACCURACY AND PRECISION
1. Precision refers to how closely individual computed or
measured values agree with each other.
2. Accuracy refers to how closely a computed or measured
value agrees with the true value.
Thai Minh Quan - Numerical Methods 29
ACCURACY AND PRECISION
(a) Inaccurate and imprecise;
(b) accurate and imprecise;
(c) inaccurate and precise;
(d) accurate and precise.
Thai Minh Quan - Numerical Methods 30
ERROR DEFINITIONS
1. Truncation errors, which result when approximations are used
to represent exact mathematical procedures
2. Round-off errors, which result when numbers having limited
significant figures are used to represent exact numbers
Thai Minh Quan - Numerical Methods 31
ERROR DEFINITIONS
Relationship between the exact, or true, result and the approximation
the “true” error
The relative error
with functions that can be solved analytically.
Thai Minh Quan - Numerical Methods 32
ERROR DEFINITIONS
with functions that can not be solved analytically.
the “true” error
a signifies that the error is normalized to an approximate value
For such cases, the computation is repeated until
prespecified percent tolerance
Thai Minh Quan - Numerical Methods 33
Matlab/Octave introduction
Thai Minh Quan - Numerical Methods 34
Matlab/Octave introduction
Thai Minh Quan - Numerical Methods 35
Matlab introduction
Stands for MATrix LABoratory
Interpreted language
Scientific programming environment
Very good tool for the manipulation of
matrices
Great visualisation capabilities
Loads of built-in functions
Easy to learn and simple to use
Thai Minh Quan - Numerical Methods 36
Matlab introduction
MATLAB software
A convenient environment for performing many types of
calculations
A very nice tool to implement numerical methods
MATLAB uses three primary windows:
Command window. Used to enter commands and data.
Graphics window. Used to display plots and graphs.
Edit window. Used to create and edit M-files.
Thai Minh Quan - Numerical Methods 37
Matlab Desktop
Workspace /
Current
Directory Command
Window
Command
History
Explore the Matlab
Desktop
Thai Minh Quan - Numerical Methods 38
Variables
Don’t have to declare type
Don’t even have to initialise
Just assign in command window
>>
>> a=12; % variable a is assigned 12
Matlab comment
prompt operator
suppress
assign
command
operator Try the same line
output
without the semicolon
and comments
Thai Minh Quan - Numerical Methods 39
Variables (continued …)
View variable contents by simply typing
the variable name at the command
prompt
>> a
a=
12
>>
>> a*2
a=
24
>>
Thai Minh Quan - Numerical Methods 40
Matlab introduction
Mathematical operations
Type 2+3 after the >> prompt, followed by Enter (press the Enter key) as
indicated by <Enter>:
>> 2+3 < Enter>
Commands are only carried out when you enter them. The answer in this case
is, of course, 5. Next try
>> 3–2 < Enter>
>> 2*3 < Enter>
>> 1/2 < Enter>
>> 2ˆ3 < Enter>
>> 2\1 < Enter>
Thai Minh Quan - Numerical Methods 41
Workspace
The workspace is Matlab’s memory
Can manipulate variables stored in the
workspace
>> b=10;
>> c=a+b
c=
22
>>
Thai Minh Quan - Numerical Methods 42
Workspace (continued …)
Display contents of workspace
>> whos
Name Size Bytes Class
a 1x1 8 double array
b 1x1 8 double array
c 1x1 8 double array
Grand total is 3 elements using 24 bytes
>>
Delete variable(s) from workspace
>> clc
>> clear all; % delete a and b from workspace
>> close all; % delete all variables from workspace
Thai Minh Quan - Numerical Methods 43
Matlab help commands
help
>> help sum % displays documentation for the function
sum
>> lookfor convert % displays functions with convert in the first
help line
Start Matlab help documentation
>> helpdesk
Thai Minh Quan - Numerical Methods 44
Matlab introduction
Vector
a = [1 2 3 4 5] or >> a = 1:5
and
a = [1 ; 2 ; 3 ; 4 ; 5] or a = [1 2 3 4 5]’
Matrix
A = [1 2 3; 4 5 6; 7 8 9]
z = zeros(2,4)
x = ones(2,3)
Thai Minh Quan - Numerical Methods 45
Matrices
Don’t need to initialise type, or dimensions
A = [3 2 1; 5 1 0; 2 1 7] []
A=
square brackets to define matrices
3 2 1
5 1 0
;
2 1 7
semicolon for next row in matrix
Thai Minh Quan - Numerical Methods 46
Manipulating Matrices
A=
2 1 3
Access elements of a matrix
1 0 5
A(1,2) 1 7 2
ans=
indices of matrix element(s)
2
Remember Matrix(row,column)
Naming convention Matrix variables start with a capital
letter while vectors or scalar variables start with a simple
letter
Thai Minh Quan - Numerical Methods 47
The : operator
VERY important operator in Matlab
Means ‘to’
>> 1:10
ans =
1 2 3 4 5 6 7 8 9 10
>> 1:2:10
ans = Try the following
>> x=0:pi/12:2*pi;
1 3 5 7 9 >> y=sin(x)
Thai Minh Quan - Numerical Methods 48
The : operator and matrices
A(3,2:3) A=
3 2 1
ans = 5 1 0
1 7 2 1 7
A(:,2)
ans =
2
1
What’ll happen if you type A(:,:) ?
1
Thai Minh Quan - Numerical Methods 49
Manipulating Matrices
A=
3 2 1
5 1 0
2 1 7
>> A ' % transpose
B=
>> B*A % matrix multiplication 1 3 1
>> B.*A % element by element multiplication 4 9 5
2 7 2
>> B/A % matrix division
Enter matrix
>> B./A % element by element division B into the
Matlab
>> [B A] % Join matrices (horizontally) workspace
>> [B; A] % Join matrices (vertically)
Create matrices A and B and try out the the matrix operators
in this slide
Thai Minh Quan - Numerical Methods 50
Visualisation - plotting data
>> figure % create new figure
>> t=0:pi/12:8*pi;
>> y=cos(t); Plot
style
>> plot(t,y,‘b.-')
Investigate the function
>> y=A*cos(w*t+phi);
for different values of phi (eg: 0, pi/4,
pi/3, pi/2), w (eg: 1, 2, 3, 4) and A (eg:
1, 0.5, 2). Use the hold on Matlab
command to display your plots in the A = amplitude
same figure. Remember to type hold off phi = phase
to go back to normal plotting mode. Try w = angular frequency =
using different plot styles (help plot) 2*pi*frequency
Thai Minh Quan - Numerical Methods 51
Thai Minh Quan - Numerical Methods 52
Debugging
Debug
Set breakpoints to stop the execution of code menus
>> [i j]=sort2(2,4)
K>>
K>> whos
Name Size Bytes Class
a 1x1 8 double array
b 1x1 8 double array
Grand total is 2 elements using 16 bytes
K>> a
a= local
2 function
K>> return workspace
i=
4 exit Click mouse on the
j= debug left of the line of
2 mode code to create a
breakpoint
Thai Minh Quan - Numerical Methods 53
Matlab introduction
Some commonly used tools and commands:
– (up arrow) returns last command input, can be
repeated
– clc – clears the screen
– clear all – clears variables
– close all – closes figures
Thai Minh Quan - Numerical Methods 54
Octave introduction
Octave online:
https://rextester.com/l/octave_online_compiler
https://www.tutorialspoint.com/execute_matlab_online.php
Thai Minh Quan - Numerical Methods 55
Thai Minh Quan - Numerical Methods 56