Page 1
CLASS: 01
ME 262: Numerical Analysis Sessional
Department of Mechanical Engineering, BUETDepartment of Mechanical Engineering, BUET
Page 2
Tentative Schedule
Class TOPICS
1 Introduction: MATLAB
2 Root Finding
3 Solution of Linear and Non-linear Algebraic Equations
4 Curve Fitting and Numerical Interpolation
5 Numerical Differentiation and Integration
6 Solution of Differential Equations
7 Final Quiz
2
ME262 Numerical Analysis Sessional 4 December 2009
Page 3
Reference Books
� Numerical Methods using MATLAB
- John H Mathews & Kurtis D Fink
� An Introduction to Programming and Numerical Methods in MATLAB
- S.R. Otto and J.P. Denier
3
ME262 Numerical Analysis Sessional 4 December 2009
Page 4
Overview4
� Basic Matlab Operation
– Starting Matlab
– Using Matlab as a calculator
– Introduction to variables and functions
� Matrices and Vectors [All variables are matrices]
– Creating matrices and vectors
– Subscript notation
– Colon notation
ME262 Numerical Analysis Sessional 4 December 2009
Page 5
Overview5
� Working with Matrices and Vectors
– Some basic linear algebra
– Vectorized operations
– Array operators
� Graphics
– Plotting
ME262 Numerical Analysis Sessional 4 December 2009
Page 6
Overview6
� Scripts and Functions m-files
– Creating m-files
– Syntax of I/O parameters
– Primary and secondary functions
� Flow control
– Relational operators
– Conditional execution of blocks
– Loops
ME262 Numerical Analysis Sessional 4 December 2009
Page 7
MATLAB Desktop7
ME262 Numerical Analysis Sessional 4 December 2009
Page 8
MATLAB as a Calculator8
ME262 Numerical Analysis Sessional 4 December 2009
Page 9
MATLAB as a Calculator9
ME262 Numerical Analysis Sessional 4 December 2009
Page 10
Built-in Variables10
ME262 Numerical Analysis Sessional 4 December 2009
Page 11
Built-in Functions11
ME262 Numerical Analysis Sessional 4 December 2009
Page 12
Suppress output with ‘;’12
ME262 Numerical Analysis Sessional 4 December 2009
Page 13
Suppress output with ‘;’13
ME262 Numerical Analysis Sessional 4 December 2009
Page 14
Multiple Statements per line14
ME262 Numerical Analysis Sessional 4 December 2009
Page 15
MATLAB Variables Names15
ME262 Numerical Analysis Sessional 4 December 2009
Page 16
Built-in MATLAB Variables16
ME262 Numerical Analysis Sessional 4 December 2009
Page 17
Matrices and Vectors17
ME262 Numerical Analysis Sessional 4 December 2009
Page 18
Creating MATLAB Variables
4 December 2009ME262 Numerical Analysis Sessional
18
Page 19
Creating Matrices & Vectors
4 December 2009ME262 Numerical Analysis Sessional
19
Matrix
Column vector
Row vector
Page 20
Creating Matrices & Vectors
4 December 2009ME262 Numerical Analysis Sessional
20
[it will create a row vector of 100 element]
Page 21
Transpose Operator
4 December 2009ME262 Numerical Analysis Sessional
21
Page 22
Example:
4 December 2009ME262 Numerical Analysis Sessional
22
Page 23
Colon Notation
4 December 2009ME262 Numerical Analysis Sessional
23
Page 24
Colon Notation
4 December 2009ME262 Numerical Analysis Sessional
24
[J:K is the same as (J, J+1, ..., K)]
Page 25
Try this25
� Create the following column vector without using manual input
5
4t
3
2
=
ME262 Numerical Analysis Sessional 4 December 2009
Page 26
Functions to Create Matrices
4 December 2009ME262 Numerical Analysis Sessional
26
Page 27
27
ME262 Numerical Analysis Sessional 4 December 2009
Functions to Create Matrices
Page 28
28
ME262 Numerical Analysis Sessional 4 December 2009
Functions to Create Matrices
Page 29
29
ME262 Numerical Analysis Sessional 4 December 2009
Subscript Notation
Page 30
30
ME262 Numerical Analysis Sessional 4 December 2009
Vector Addition & Subtraction
Page 31
31
ME262 Numerical Analysis Sessional 4 December 2009
Array Operators
Page 32
32
ME262 Numerical Analysis Sessional 4 December 2009
Using Array Operators
Page 33
33
ME262 Numerical Analysis Sessional 4 December 2009
The MATLAB Workspace
Page 34
34
ME262 Numerical Analysis Sessional 4 December 2009
The MATLAB Workspace
Page 35
35
ME262 Numerical Analysis Sessional 4 December 2009
Plotting [x,y] Data
Page 36
36
ME262 Numerical Analysis Sessional 4 December 2009
Plotting [x,y] Data
Page 37
Line & Symbol Types
4 December 2009ME262 Numerical Analysis Sessional
37
Page 38
38
ME262 Numerical Analysis Sessional 4 December 2009
Plot Annotation
Page 39
Example:
a = [0 1 2 3 4 5]; b = a + 2;
plot(a,b,'ro-');
xlabel('a');
ylabel('b');
title('b versus a');
legend('b'); grid;
39
ME262 Numerical Analysis Sessional 4 December 2009
Page 40
Script Files
4 December 2009
40
ME262 Numerical Analysis Sessional
Page 41
Script to plot tan(ϴ)
4 December 2009
41
ME262 Numerical Analysis Sessional
Page 42
4 December 2009
42
ME262 Numerical Analysis Sessional
Script to plot tan(ϴ)
Page 43
4 December 2009
43
ME262 Numerical Analysis Sessional
Function .m Files
Page 44
4 December 2009
44
ME262 Numerical Analysis Sessional
Function .m Files
Page 45
4 December 2009
45
ME262 Numerical Analysis Sessional
Function .m Files
Page 46
4 December 2009
46
ME262 Numerical Analysis Sessional
Function Input & Output
Page 47
4 December 2009
47
ME262 Numerical Analysis Sessional
Examples:
Page 48
4 December 2009
48
ME262 Numerical Analysis Sessional
Examples:
Page 49
4 December 2009
49
ME262 Numerical Analysis Sessional
Examples:
Page 50
4 December 2009
50
ME262 Numerical Analysis Sessional
Text Input & Output
Page 51
4 December 2009
51
ME262 Numerical Analysis Sessional
Text Output with disp
Page 52
Take values of three different variables as input and
display their summation
4 December 2009
52
ME262 Numerical Analysis Sessional
Prompting for User Input
Page 53
function [x, y, z] = newfunc (a, b)
x = a + b; y = a – b; z = a * b;
4 December 2009
53
ME262 Numerical Analysis Sessional
Function .m File
Page 54
Do this
� Find f(x) of an real number x which is taken as input
function value should be calculated in a separate .m file
f(x)=x2-6x+15
function s=f(x)s=x^2-6*x+15;
f.m command window
>> f (input('Enter value x = '))Enter value x = 510
4 December 2009
54
ME262 Numerical Analysis Sessional
function [x, y, z] = newfunc (a, b)
x = a + b; y = a – b; z = a * b;
Page 55
4 December 2009
55
ME262 Numerical Analysis Sessional
Flow Control
Page 56
4 December 2009
56
ME262 Numerical Analysis Sessional
Relational Operators
Page 57
4 December 2009
57
ME262 Numerical Analysis Sessional
Relational Operators
Page 58
4 December 2009
58
ME262 Numerical Analysis Sessional
Logical Operators
Page 59
4 December 2009
59
ME262 Numerical Analysis Sessional
Conditional Execution
Page 60
4 December 2009
60
ME262 Numerical Analysis Sessional
if Constructs
Page 61
4 December 2009
61
ME262 Numerical Analysis Sessional
if .. else
Page 62
4 December 2009
62
ME262 Numerical Analysis Sessional
if .. elseif
Page 63
4 December 2009
63
ME262 Numerical Analysis Sessional
Flow Control
Page 64
4 December 2009
64
ME262 Numerical Analysis Sessional
for Loops
Page 65
4 December 2009
65
ME262 Numerical Analysis Sessional
for Loop Variations
Page 66
Do this
� Find Summation of an odd number series starting from 1 to n (odd number) which is taken by an input function.
function odd(n)sum = 0;for i = 1 : 2: n
sum = sum + i;enddisp(sum);
factorial.m command window
>> odd(input('Enter value n = '))Enter value n = 925
>> a=odd (input('Enter value n = '))Enter value n = 5??? Error using ==> factorialToo many output arguments.
>> odd(9)25
4 December 2009
66
ME262 Numerical Analysis Sessional
Page 67
Do this
� Find Factorial of an real number n which is taken by an input function.
function sum = odd(n)sum = 0;for i = 1 : 2: n
sum = sum + i;enddisp(sum);
factorial.m command window
>> a=odd(input('Enter value n = '))Enter value n = 925
a =25
4 December 2009
67
ME262 Numerical Analysis Sessional
Page 68
4 December 2009
68
ME262 Numerical Analysis Sessional
while Loops
Page 69
The break Command
4 December 2009ME262 Numerical Analysis Sessional
69
Page 70
The return Command
4 December 2009ME262 Numerical Analysis Sessional
70
Page 71
4 December 2009
71
ME262 Numerical Analysis Sessional
Comparison of break & return