Selection Programming

1 / 20

# Selection Programming - PowerPoint PPT Presentation

Selection Programming. EE 100. Outline. introduction Relational and Logical Operators Flow Control Loops Update Processes. Introduction. Programs commands in MATLAB are executed in sequence.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

## PowerPoint Slideshow about 'Selection Programming' - sona

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

### Selection Programming

EE 100

Outline
• introduction
• Relational and Logical Operators
• Flow Control
• Loops
• Update Processes
Introduction
• Programs commands in MATLAB are executed in sequence.
• The sequence can be altered using programming structures (control flow -if, switch-, repetition- for, while-).
• Decision can be made using relational and logical expressions. (a check if a condition is met or not)
Relational and Logical Operators
Relational and Logical Operators
• For relational and logical expressions:

Inputs: True is any nonzero number

False is 0 (zero)

• Outputs: True is 1 (one)

False is 0 (zero)

• An output array variable assigned to a relational or logical expression is identified as logical.
Flow Control
• Simple if Statement
• The general form of a simple if statement is:

if logical expression

commands

end

Example:

if d < 50

count = count + 1;

disp(d);

end

Flow Control
• Nested if Statements : general form

if logical expression

commands

if logical expression

Commands

end

end

Flow Control
• Example: Nested if Statements

if d < 50

count = count + 1;

if count > 10

disp(‘count > 10’);

end

end

General form

if logical expression

commands

else

commands

end

General form

if logical expression

commands

elseif logical expression

commands

elseif logical expression

Commands

else

Commands

end

Flow Control- else and elseif Clauses
Flow Control- else and elseif Clauses
• Example:

If average > 86

disp(‘Excellent’)

elseif average > 76

disp(‘Very good’)

elseif average > 68

disp(‘Good’)

else

disp(‘Ya 7aram- accepted’)

end

General form:

switch expression

case test expression 1

commands

case {test expression 2, test expression 3}

commands

···

otherwise

commands

end

Flow Control- Switch Structure
Example:

d = floor(3*rand) + 1

switch d

case 1

disp( ’That’’s a 1!’ );

case 2

disp( ’That’’s a 2!’ );

otherwise

disp( ’Must be 3!’ );

end

Example:

d = floor(10*rand);

switch d

case {2, 4, 6, 8}

disp( ’Even’ );

case {1, 3, 5, 7, 9}

disp( ’Odd’ );

otherwise

disp( ’Zero’ );

end

Flow Control- Switch Structure
General form:

for index = j:k

statements

end

or

for index = j:m:k

statements

End

Floor (last − first)/increment + 1

for i = 1:5

disp(i)

end

for i = 1:2:5

disp(i)

end

Loops- for loop
General form

while condition

statements

end

Example:

count = 0;

While count < 5

disp (count)

count= count + 1;

end

Loops- while loop
Loops- while loop - break
• Example:

count = 0;

While count < 5

disp (count)

count= count + 1;

If count == 4

Break

end

end

Avoiding loops
• In general, loops should be avoided in Matlab, as they can significantly increase the execution time of a program.
• The execution time increases as MATLAB allocate memory each time through the loop.
• Usually avoid loops by vectorizing.
example: vectorizing

tic

n = 1:10000000;

s = sum( n );

toc

elapsed_time = 0.5300

example: loop

tic

s = 0;

for n = 1:10000000

s = s + n;

end

toc

elapsed_time = 23.6840

Avoiding loops
Update Processes
• Many problems in science and engineering involve modeling a process where the main variable is updated over a period of time. In many situations, the updated value is a function of the current value.