This preview shows page 1. Sign up to view the full content.
Unformatted text preview: 9/17/2008 Conditional Programming Structures
Wednesday Sept. 17th, 2008 Simple “IF” Syntax
• IF statement is the principle conditional structure we will use • Syntax: if <comparison> <statement(s)> end %if statement (Note the use of the indent to clarify the “inner” commands) 1 9/17/2008 Simple “IF” Logic
• If the comparison (relational or logical) returns a value of “true” the commands between the IF…END keywords are executed • If the comparison is false, execution skips to the first line after the END keyword • If statements are easy to interpret when using scalar values, but require more care when using arrays. “IF” with array arguments
• When using an array as part of the condition, MATLAB will assess whether the condition is true or false in the same manner • Recall the relational operator A > B when A = [ 1 2 3 4] B = [‐2 0 2 6] • A > B evaluates to FALSE in this case and inner commands are not executed. 2 9/17/2008 Example 1
if G>50 disp(‘G is greater than 50. \n’) count = count + 1; end What is the result of this statement if 1) G = 80 ? 2) G = (0:10:80) ? Example 1 (cont)
• In the second case, the condition evaluates to true for only G(7:9) • Note that you can also pass a single element and get a “true” ex. G(7) or G(7:9) 3 9/17/2008 IF/ELSE Syntax
• A minor modification on the Simple IF, is the IF/ELSE statement, slightly more common than the simple IF • Syntax: if <comparison> <statement to execute if true> else <statement to execute if it is not true> end %if statement How is this executiong different than the previous statement?? The ELSEIF Structure
• This structure allows us to “nest” if statements within the structure • Syntax: if <comparison>
<statements to execute if comparison1 is true> elseif <comparison2>
<statements to execute if comparison2 is true> else <statements to execute if both 1 and 2 are false> end %if statement 4 9/17/2008 Example 2
if G>50 disp(‘G is greater than 50. \n’) elseif (G<40) disp(‘G is less than 40. \n’) else disp(‘G is between 40 and 50. \n’) end disp(‘Now we know something about G. \n’) Example 3
• Consider the problem of assigning letter grades based on the following criteria:
Letter Grade A B C D F Numeric Grade 90‐100 80‐90 70‐80 60‐70 < 60 • Write a function to assign a letter grade based on a scalar score input 5 9/17/2008 Switch/Case Structure
• Another method for assigning or converting values is the SWITCH/CASE statement • The structure is similar, but slightly more streamlined • Looks for EXACT matches, using either scalars or strings SWITCH/CASE Syntax
switch <variable> case <val1> <statement to execute if variable=val1> case <val2> <statement to execute if variable=val2> ... case <valn> <statement to execute if variable=valn> otherwise <statement to execute if variable = none of previous vals> end % switch statement 6 9/17/2008 Example 4
• Develop a SWITCH/CASE statement to convert menu inputs to actual turbine sweep areas for the wind power example. Your menu should look like this: 7 ...
View Full Document
This note was uploaded on 02/25/2009 for the course BEE 1510 taught by Professor Staff during the Fall '05 term at Cornell.
- Fall '05