Welcome to
Numerical Methods for Civil Engineers
3 2548
Lecture 1 -
MATLAB
Introduction
Instructor: Mongkol JIRAVACHARADET
School of Civil Engineering
Institute of Engineering
Suranaree University of Technology
Textbook
Applied Numerical Methods
With MATLAB for Engineers
and Scientists
STEVEN C. CHAPRA
McGraw-Hill International Edition
References
Numerical Methods For Engineers with Personal Computer Applications,
(Third Edition) by Chapra, S.C. and R.P. Canale, McGraw-Hill, 1998
Numerical Methods with MATLAB : Implementations and Applications,
Gerald W. Recktenwald, Prentice-Hall, 2000
An Introduction to Numerical Methods : A MATLAB Approach,
Abdelwahab Kharab and Ronald B. Guenther, Chapman & Hall/CRC, 2002
Numerical Methods using MATLAB,
John H. Mathews and Kurtis D. Fink, Prentice-Hall, 2004
The Matlab 7 Handbook , Mathwork Inc.
KEEP THESE BOOKS! They are excellent career references
(at least for a while)
Topics Covered
Introduction to Matlab Interpolation
Approximations and Errors Numerical Integration
Roots of Equations Ordinary Differential Equations
Linear Systems Optimization
Curve Fitting
Conduct of Course
Homework/Projects/Quizzes 30 %
Midterm Exam 30 %
Final Exam 40 %
Grading Policy
Final Score Grade
100 - 90 A
89 - 85 B+
84 - 80 B
79 - 75 C+
74 - 70 C
69 - 65 D+
64 - 60 D
59 - 0 F
WARNINGS !!!
1) Participation expected, check by quizzes
2) Study in groups but submit work on your own
3) No Copying of Matlab code
4) Submit Homework at the beginning of class
5) Late homework with penalty 30%
6) No make up quizzes or exams
MATLAB
The Language of Technical Computing
M ATLAB
MATLAB
The latest version Matlab 7.3 R2006b
www.mathworks.com
MATLAB = MATrix LABoratory
- Math and computation
- Algorithm development
- Modeling, Simulation, and Prototyping
- Data analysis, exploration, and visualization
- Scientific and Engineering Graphics
- Many toolboxes for solving problems:
Control System Toolbox Statistics Toolbox
Signal Processing Toolbox Optimization Toolbox
System Identification Toolbox Partial Diff. Equation Toolbox
Neural Network Toolbox Symbolic Math Toolbox
MATLAB Educational Sites
http://www.mathworks.com/
http://www.eece.maine.edu/mm/matweb.html
http://www.math.utah.edu/lab/ms/matlab/matlab.html
http://www.math.mtu.edu/~msgocken/intro/intro.html
MATLAB 1
- Getting started
- Basic Arithmetic
- Built-in Functions
- Built-in Variables
- Vector & Matrix
The MATLAB System
The MATLAB system consists of five main parts:
Development Environment: set of tools and facilities that help you use MATLAB
functions and files. Many of these tools are graphical user interfaces. It includes the
MATLAB desktop and Command Window, a command history, an editor and
dedugger, and browsers for viewing help, the workspace, files, and the search path.
The MALAB Mathematical Function Library: a vast collection of computational
algorithms.
The MATLAB Language: This is a high-level matrix/array language with control
flow statements, functions, data structures, input/output, and objected-oriented
programming features.
Graphics: MATLAB has extensive facilities 2-D and 3-D data visualization,
animation, and presentation graphics.
The MATLAB Application Program Interface (API): allows you to write C and
Fortran programs that interact with MATLAB.
Getting Started
MATLAB Desktop
Getting Started
Command Window
Command prompt >> DEMO
Getting Started
Editor/Debugger
Basic Arithmetic
Calculator functions work as you'd expect:
>>(1+4)*3
ans =
15
+ and - are addition, / is division, * is multiplication, ^ is an exponent.
>> 5*5*5
>> 5^(-2.5)
>> 3*(23+14.7-4/6)/3.5
Last-line editing Up Arrow
>> 2 + 6 - 4 Upper & Lower Case
ans = >> a=2;
4 >> A=3;
The value in ans can be recalled: >> 2*a
>> ans/2 >> 2*A
ans = 2 Several commands in the same line:
>>x=2;y=6+x,x=y+7
Assign value to a variable:
>> a = 5 For too long command:
>> Num_Apples = 10;
>> b = 6
>> Num_Orange = 25;
>> c = b/a
>> Num_Pears = 12;
>> Num_Fruit=Num_Apples+Num_Orange...
+ Num_Pears
Built-in Functions
>> sin(pi/4) >> pi sin(x), cos(x), tan(x),
ans = ans = sqrt(x), log(x), log10(x),
0.7071 3.1416 asin(x), acos(x), atan(x)
The output of each command can be suppress by using semicolon ;
>> x = 5;
>> y = sqrt(59);
>> z = log(y) + x^0.25
z =
3.5341
The commas allow more than one command
on a line:
>> a = 5; b = sin(a), c = sinh(a)
b =
-0.9589
c =
74.2099
MATLAB Variables is created whenever it appears
on the left-hand of =
>> t = 5;
>> t = t + 2
t =
7
Any variable appearing on the right-hand side of
= must already be defined. Format
>> x = 2*z
>> pi
??? Undefined function or variable z
>> format long
>> who >> pi
>> whos >> format short
>> clear >> format bank
Use long variable names is better to remember >> format short e
and understandable for others >> format long e
>> format compact
>> radius = 5.2;
>> format loose
>> area = pi*radius^2;
>> format
Built-in Variables
Use by MATLAB, Should not be assigned to other values
Variable Meaning
ans value of an expression when not assigned to variable
eps floating-point precision
i, j unit imaginary numbers, i = j = 1
pi = 3.14159265 . . .
realmax largest positive floating-point number
realmin smallest positive floating-point number
Inf , a number larger than realmax, result of 1/0
NaN not a number (0/0)
>> x = 0; >> help log
>> 5/x On-line Help:
>> x/x >> lookfor cosine
Matrices and Magic Squares
In MATLAB, a matrix is a rectangular array of numbers.
scalars = 1-by-1 matrices
vectors = one row or column matrices
it is usually best to think of everything
as a matrix.
The matrices operations in MATLAB are
designed to be as natural as possible.
MATLAB allows you to work with entire
matrices quickly and easily.
Renaissance engraving Melencolia I by the German artist and amateur
mathematician Albrecht Drer.
Entering Matrices
You can enter matrices into MATLAB in several different ways:
Enter an explicit list of elements.
Load matrices from external data files.
Generate matrices using built-in functions.
Create matrices with your own functions in M-files.
Start by entering matrix as a list of its elements.
You only have to follow a few basic conventions:
Separate the elements of a row with blanks or commas.
Use a semicolon, ; , to indicate the end of each row.
Surround the entire list of elements with square brackets, [ ] .
To enter matrix, simply type in the Command Window
>> A = [16 3 2 13; 5 10 11 8; 9 6 7 12; 4 15 14 1]
Row and Column Vectors
Row vector >> A = [ 2 3 5 7 11]
Column vector >> A = [ 2; 3; 5; 7; 11]
Transposition >> At = A
Arrays Operations
>> A = [ 3 5 7 9 11 ] >> A / B
>> A(3) >> A ./ B
>> length(A) >> A .^ 2
>> clear(A) >> odd = 1:2:11
>> B = [ 2 4 6 8 10 ] >> even = 2:2:12
>> A + B >> natural = 1:6
>> A - B >> angle = 0:pi/10:pi;
>> A * B >> sin(angle)
>> A .* B
Generate matrices using built-in functions
>> A = zeros(4) >> A = zeros(3,4)
>> A = ones(4)
>> A = eye(4)
>> A = magic(4)
Elementary Matrix Operations
>> S = A + B >> [m , n] = size(A)
>> D = A - B >> det(A)
>> A*B >> inv(A)
>> C = [ 10 11; 12 13; 14 15]; >> v = [1 2 3];
>> A*C >> A = diag(v)
>> A^2 >> B = diag([1 2 1 2])
>> L = log10(A) >> w = diag(B)
Subscripts
The element in row i and column j of A is denoted by A(i , j)
A = [16 3 2 13; 5 10 11 8; 9 6 7 12; 4 15 14 1]
MATLAB displays the matrix you just entered.
A =
16 3 2 13
5 10 11 8
9 6 7 12
4 15 14 1
For example, A(4,2) is the number in the fourth row and second column.
>> A(4,2)
ans =
15
Submatrix
>> A(1,:)
>> A(:,2)
>> A(3:4,1:2)
Juxtaposition
>> B = [9 8 2 5 ; 4 5 6 7 ; 2 1 3 4]
>> [A B]
>> size(ans)
>> [A ; B]
The Colon Operator
The colon, :, is one of the most important MATLAB operators.
>> 1:10
To obtain nonunit spacing, specify an increment.
For example,
and
>> 100:-7:50 >> 0:pi/4:pi
Linspace
linspace function creates row vectors with equally spaced elements.
>> u = linspace(0.0,0.25,5)
>> v = linspace(0,9,4)
>> x = linspace(0,pi/6,6*pi);
>> s = sin(x); >> t = tan(x);
>> c = cos(x); >> [x s c t]
Workspace Browser
The MATLAB workspace consists of the set of variables (named arrays)
built up during a MATLAB session and stored in memory.
You add variables to the workspace by using functions, running M-files, and
loading saved workspaces.
To view the workspace and information about each variable,
use the Workspace browser, or use the functions who and whos.
Example 2.1 Transportation route analysis
The following table gives data for the distance travel along five truck routes and the
corresponding time required to traveled each route. Use the data to compute the
average speed required to drive each route. Find the route that has the highest
average speed.
1 2 3 4 5
Distance (miles) 560 440 490 530 370
Time (hrs) 10.3 8.2 9.1 10.1 7.5
Solution:
>>d = [560, 440, 490, 530, 370]
>>t = [10.3, 8.2, 9.1, 10.1, 7.5]
>>speed = d./t
speed =
54.3689 53.6585 53.8462 52.4752 49.3333
>>[highest_speed, route] = max(speed)
highest_speed = route =
54.3689 1