You are on page 1of 30

CH4: LOOPS

MATLAB PROGRAMMING FOR ENGINEERS

Matlab Programming for Engineers

Introduction to Matlab
Matlab Basics
Branching Statements
Loops
User Defined Functions
Additional Data Types
Input/Output Functions
Simulink Toolbox
Important Toolboxes (if time is available)
Dr. Nidal Farhat
Mechanical Engineering Department

MATLAB PROGRAMMING FOR ENGINEERS

OBJECTIVES

The while Loop


The for Loop
Logical Arrays and Vectorization
The Matlab Profiler

Mechanical Engineering Department

CH4: LOOPS

CH4: LOOPS

MATLAB PROGRAMMING FOR ENGINEERS

THE while LOOP


Structure:

The Code Block is repeated


until the expression is false.
If it is false, the program
executes the first statement
after the end.

Mechanical Engineering Department

MATLAB PROGRAMMING FOR ENGINEERS

THE while LOOP


Example:
Write a program that calculates the average,

and the standard deviation,

for a set of values (X), entered by the user.

Mechanical Engineering Department

CH4: LOOPS

MATLAB PROGRAMMING FOR ENGINEERS

THE while LOOP


Solution:

Mechanical Engineering Department

CH4: LOOPS

MATLAB PROGRAMMING FOR ENGINEERS

THE while LOOP


Solution (modified):

Mechanical Engineering Department

CH4: LOOPS

MATLAB PROGRAMMING FOR ENGINEERS

THE while LOOP


Solution (modified):

Mechanical Engineering Department

CH4: LOOPS

CH4: LOOPS

MATLAB PROGRAMMING FOR ENGINEERS

THE for LOOP


Structure:
Repeats a block of statements (Body) specified number of times.
Matlab generates an array by
evaluating this expression
column by column.

Legal Examples:

Mechanical Engineering Department

MATLAB PROGRAMMING FOR ENGINEERS

THE for LOOP


Legal Examples:

Mechanical Engineering Department

CH4: LOOPS

MATLAB PROGRAMMING FOR ENGINEERS

THE for LOOP


Example (The Factorial Function):
N! = N * (N-1) * (N-2) * * 3 * 2 * 1

Mechanical Engineering Department

CH4: LOOPS

MATLAB PROGRAMMING FOR ENGINEERS

THE for LOOP


Example (The Factorial Function):
N! = N * (N-1) * (N-2) * * 3 * 2 * 1

Mechanical Engineering Department

CH4: LOOPS

MATLAB PROGRAMMING FOR ENGINEERS

THE for LOOP


Example, calculating the day of year:

Mechanical Engineering Department

CH4: LOOPS

MATLAB PROGRAMMING FOR ENGINEERS

CH4: LOOPS

THE for LOOP


Example:
Use THE for LOOP to calculate the average and standard deviation for
any (n) values (modify the previous while program).

Mechanical Engineering Department

MATLAB PROGRAMMING FOR ENGINEERS

CH4: LOOPS

THE for LOOP


Details of operation:
1. Indent the bodies of loops (automatically done in Matlab).
2. Dont modify the loop index within the body of a loop.

3. Preallocating arrays.
recall: arr = 1:4; arr(7) = 8; arr == [1 2 3 4 0 0 8]. (i.e. Matlab
automatically extend/change the size of the array.
It is better to preallocate the array before THE for LOOP to make the
program much more faster.

Mechanical Engineering Department

CH4: LOOPS

MATLAB PROGRAMMING FOR ENGINEERS

THE for LOOP


Details of operation: (4. Vectorizing Arrays)

Faster

Mechanical Engineering Department

MATLAB PROGRAMMING FOR ENGINEERS

CH4: LOOPS

THE for LOOP


The break and continue Statements:
The break statement terminates the execution of a loop and passes
control to the next statement after the end of the loop, example:

Mechanical Engineering Department

MATLAB PROGRAMMING FOR ENGINEERS

CH4: LOOPS

THE for LOOP


The break and continue Statements:
The continue statement terminates the current step of the loop and
return the control to the top of the loop, example:

continue

Mechanical Engineering Department

CH4: LOOPS

MATLAB PROGRAMMING FOR ENGINEERS

THE for LOOP


Nesting Loops:

ii

jj

Output

Mechanical Engineering Department

product

CH4: LOOPS

MATLAB PROGRAMMING FOR ENGINEERS

THE for LOOP


Nesting Loops:
Different loop index variables

ii

jj

Output

Mechanical Engineering Department

product

MATLAB PROGRAMMING FOR ENGINEERS

CH4: LOOPS

THE for LOOP


Nesting Loops:
The break/continue statements they apply to the current loop, example:

Mechanical Engineering Department

CH4: LOOPS

MATLAB PROGRAMMING FOR ENGINEERS

THE for LOOP


Logical array and vectorization:
Double array

Logical array

Mechanical Engineering Department

MATLAB PROGRAMMING FOR ENGINEERS

CH4: LOOPS

THE for LOOP


Logical array and vectorization:
Logical arrays can serve as a mask for arithmetic operations. The
specified operation will be applied to the selected elements and not to
the remaining elements, example:
Will take the square root of all elements
for which the logical array b is true and
leave all the other elements in the array
unchanged

Mechanical Engineering Department

CH4: LOOPS

MATLAB PROGRAMMING FOR ENGINEERS

THE for LOOP


Logical array and vectorization:
Example 1:
Calculate the sqrt of all the elements of array (a) > 5.

Faster

Mechanical Engineering Department

MATLAB PROGRAMMING FOR ENGINEERS

CH4: LOOPS

THE for LOOP


Logical array and vectorization:
Example 2: Calculate the sqrt of all the elements of array (a) > 5, and the
square of the remaining (unselected by the previous operation).

Mechanical Engineering Department

MATLAB PROGRAMMING FOR ENGINEERS

CH4: LOOPS

THE for LOOP


The Matlab Profiler:
Used to identify the parts of the program that consume most execution
time.

Mechanical Engineering Department

MATLAB PROGRAMMING FOR ENGINEERS

THE for LOOP


The Matlab Profiler:

Mechanical Engineering Department

CH4: LOOPS

CH4: LOOPS

MATLAB PROGRAMMING FOR ENGINEERS

THE for LOOP


Example: (Projectile Motion)
General equation:

y (t ) y0 v y0 t 12 gt 2

v y0 v0 sin( )

x(t ) x0 vx0 t

When the ball hits the ground

t 0,

Mechanical Engineering Department

vx0 v0 cos( )
t

2* v y0
g

CH4: LOOPS

MATLAB PROGRAMMING FOR ENGINEERS

THE for LOOP


Example: (Projectile Motion)
General equation:

y (t ) y0 v y0 t 12 gt 2

v y0 v0 sin( )

x(t ) x0 vx0 t

When the ball hits the ground

t 0,

Mechanical Engineering Department

vx0 v0 cos( )
t

2* v y0
g

MATLAB PROGRAMMING FOR ENGINEERS

THE for LOOP


Example: (Commands and Functions)

Mechanical Engineering Department

CH4: LOOPS

MATLAB PROGRAMMING FOR ENGINEERS

Home Work
Solve the following problems:
4.[16, 19, 21]

Mechanical Engineering Department

CH4: LOOPS

You might also like