0% found this document useful (0 votes)
169 views

Numerical Methods For Civil Engineers

This document introduces numerical methods using MATLAB. It covers [1] an overview of MATLAB as a technical computing language, [2] topics that will be covered in the course including approximations, roots of equations, linear systems, and differential equations, and [3] expectations for homework, exams, and grading.

Uploaded by

Yan Naung Ko
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
169 views

Numerical Methods For Civil Engineers

This document introduces numerical methods using MATLAB. It covers [1] an overview of MATLAB as a technical computing language, [2] topics that will be covered in the course including approximations, roots of equations, linear systems, and differential equations, and [3] expectations for homework, exams, and grading.

Uploaded by

Yan Naung Ko
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 15

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

You might also like