matlab loops and branching. loop types counted loops; called for loop conditional loops; called...

24
MATLAB Loops and Branching

Post on 19-Dec-2015

263 views

Category:

Documents


1 download

TRANSCRIPT

MATLAB

Loops and Branching

Loop types

• Counted loops; called for loop

• Conditional loops; called while loop

Looping!

• Scripts and functions also allow the ability to loop using conventional for and while loops.

• Note that the interpreter also lets you do it, it is simply less easy to grasp

For Loops

• Common to other programming languages

for variable = expression

statement

...

statement

end

For Loops, con’t: 2

• Example: (taken from MATLAB help)

• a = zeros(k,k) % Preallocate matrix for m = 1:k

for n = 1:k a(m,n) = 1/(m+n -1);

end end

For Loops, con’t: 3

• The looping variable is defined in much the same way that we defined arrays/vectors.

• Ex. m = 1:k

• Or m = 1:10

For Loops, con’t: 4

• Loops are shown to end by the keyword “end”

• Curly braces are not present to subdivide packets of code

• Make use of adequate white-space and tabbing to improve code readability

While Loops

• Similar to while loops in other languages

while condition

statement

end

While Loops, con’t: 2

• Ex. (taken from help while)

while (1+eps) > 1

eps = eps/2;

end

While Loops, con’t: 3

• Same notes apply to while loops.

• Code is separated by the keyword “end”

Looping conclusion

• Some other aspects of looping exist

• Use help while and help for to see them

LOGICAL CONTROL PROGRAMMING CONSTRUCTS

• Syntax of the if statement:

if logical expression

statements

end

EXAMPLE

x = some given value

if x >= 0

y = sqrt (x)

end

EXAMPLE

x = 10;

y = 20;

if x >= 0 & y >= 0

z = sqrt(x) + sqrt(y);

w = log(x) – 3*log(y);

end

LOGICAL PROGRAMMING CONTRUCTS

• Nested “if” statements:

if logical expression 1 statement group 1

if logical expression 2statement group 2

endend

• Note the indentions

Nested Statement

LOGICAL PROGRAMMING CONTRUCTS

THE else STATEMENT:If two mutually exclusive actions can occur as a result of

a decision, use the else statement.

if logical expression statement group 1

else statement group 2

end

In-class Exercise (5 minutes)

• Suppose y = x1/2 for x >= 0

and y = ex – 1 for x < 0

• Write a program (.m script file) to calculate y assuming that x already has a scalar value.

• Test your program for x = 3 and x = -2.

SOLUTION (Script File)

% Solution to In-Class Exercise

if x >= 0

y = sqrt (x);

else

y = exp (x) -1;

end Did you indentproperly?!

LOGICAL PROGRAMMING CONSTRUCTS

The elseif statement:

When three actions can occur as a result of a decision, the else and elseif statements are used along with the if statement.

Remember: ONLY ONE ACTION WILL ACTUALY OCCUR!!!

LOGICAL PROGRAMMING CONSTRUCTS

if logical expression 1 statement group1elseif logical expression 2 statement group 2else statement group 3end

EXAMPLE

Given:

y = ln x for x > 10

y = x1/2 for x >= 0 and x <= 10

y = ex – 1 for x < 0

Compute y if x has been assigned a scalar value.

SOLUTION (Script file)

% Solution to example

if x > 10

y = log (x)

elseif x >= 0

y = sqrt (x)

else

y = exp (x) -1

end

Does the order that I check things matter?YES!

LOGICAL PROGRAMMING CONSTRUCTS

Write the syntax for the if-elseif-else-end construct if there are more than three alternatives.

SOLUTION

if logical expression1Statements group1elseif logical expression2Statements group2elseif logical expression3Statements group3elseif logical expression4Statements group4…elseStatement if all other cases are falseend