Conditional Statements in Matlab Programming, if, if-else, and else if
Table of Contents
Conditional statements in MATLAB:
Conditional Statements in Matlab- In this tutorial, we will introduce you to the conditional statements if, if-else, and else if; and then I will show you through examples, how to implement each of these statements in MATLAB. Let’s get started.
Before we jump into MATLAB Programming, let’s take a look at the structure of the if statement. In a flowchart of the if statement as given below, flowcharts are super useful for documenting the paths that a program can take. So, we start the program with some sort of input and we evaluate this input using a logical expression. This logical expression is going to consist of one or more of these relational operators.
if Statement in Matlab:
Such as less than, greater than or equal to and if this logical expression evaluates is true then the program will execute one or more statements and then end. However if this logical expression is false the program will just end. So here is a flowchart of the example that we are going to work in MATLAB and in this case what we are trying to do is take an input grade.
In this example 65 and if this grade is greater than or equal to 60, if that is true we will know we have passed the class and the program will end.
So let’s go over to MATLAB now and implement this. So we are start off our program by entering a numeric grade and we are going to store it in a variable called grade because that just makes sense. So in the grade variable we are going to assign it a value and you can assign it anything that you would like. In this case I will choose let’s say 70 then I will add a semicolon on the end of this line to suppress the output and next we will move to implementing our if statement, so we say if our grade is greater than or equal to 60 this is our logical expression and the greater than or equal to is our relational operator.
1 2 3 |
Grade = 70; If grade >= 60 |
So if the grade is greater than or equal to 60 then we want the program to display that we have passed the class, so we are going to use the display function to do so. So in this case, we will display pass and then we will end the program.
1 |
disp('pass') |
So this is how this would read if the grade is greater than or equal to 60 then display pass and in the program if that logical expression evaluates as false the program will just end.
1 2 3 4 5 6 7 |
grade=70; if grade>=60 disp('pass') end |
So let’s run the program and see what we get here output to the command window. So I click run and we get pass and that is what I would expect because my grade was greater than or equal to 60.
Output:
Now let’s go back up and change this input grade to something less than 60. Let’s say 55 and now we have run the program and you can see here that nothing happens and that’s because there’s only one path that the program can take to actually evaluate a statement.
So since the grade was not greater than or equal to 60 the program just ended.
Now hopefully you can see here that one of the major limitations of the if statement by itself is that we only have one path that the program can take it would probably be preferable to have the program tell us that we have failed the class rather than just ending and not really displaying anything for us.
Matlab Else statement:
So this leads us to the else statement so here is the structure and a flowchart of the else statement
So again we start our program with an input and evaluate that input with a logical expression and if true statement group 1 is evaluated and the program ends. Now unlike the if statement if this logical expression is false a second statement group can be evaluated before the program ends. So now let’s look at our flowchart that we’re going to implement in MATLAB.
Now in this case we start off with a grade again and we are trying to determine if we have passed or failed a class, so we evaluate this input based on our logical expression and in this instance our grade of 55 is not greater than or equal to 60. So since that is false our second statement group is evaluated in the program ends.
So let’s return to MATLAB and revise our program to implement the else statement. So the purpose of using the else statement is to add a second path that the program can take and this ends up being really easy to implement, so right now we have if the grade is greater than or equal to 60 then we want to display pass or else if that logical expression is not true then we want to display fail and that’s actually it.
1 2 3 4 5 6 7 8 9 10 11 |
grad=55; if grad>=60 disp('pass') else disp('fail') end |
So now the program has two different paths to take based on this logical expression and if it evaluates as true or false.
So right now we have a grade of 55 input into our program, so let’s run the program and we see that it does say fail and so this program is working correctly.
Matlab Else if statement:
Now while this is much more desirable than just using an if statement alone what if we want to have more than one logical expression. So for example it may be more desirable to show the letter grade that we have received in the course. However we would need to use more than one logical expression to find out what letter grade that we have received and this leads us to the else if conditional statement. So here is the structure and a flowchart of the else if statement; the benefit of using an else–if statement is it allows us to use more than one logical expression.
So we start off our program again with an input and evaluate it with logical expression one and if true then we evaluate statement Group one and in the program else if logical expression one is false then we evaluate a logical expression two and if true then we evaluate statement Group two and in the program else logical expression two is false then we evaluate statement Group three and end the program. So now we can see a flowchart of implementing the else if statement in the program that we have been working on, in this case we are going to use multiple logical expressions to determine the letter grade that we have received in the course instead of just saying that we have passed or failed. So now we have multiple paths that our program can follow so again we start with a letter a grade as our input.
Now for example, we have number in subject is 72 and we evaluate it with our logical expression and in this case it is not true the grade is not greater than or equal to 90. So that is false and we move on to our second logical expression now in this case the second logical expression is also false and we move on to our third logical expression. Now finally, our input grade of 72 in this example is greater than or equal to 70 that is true so we have received a letter grade of C and our program ends.
So let’s return to MATLAB and implement the else if structure so we are have to modify our program quite a bit to implement the else if conditional statement. So let’s go ahead and start from the beginning so I am going to erase our if and else statements that we used previously and now we are have multiple different logical expressions not just one and that’s because we have several different letter grades that we want to be able to assign based on our input numeric grade. In the else if statement we will take the input from the user he will enter the subject marks by using the command.
prompt = ‘Enter the subject marks = ‘;
grad = input(prompt)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
prompt = 'Enter the subject marks = '; grad = input(prompt); if grad>=90 disp('A') elseif grad>=80 disp('B') elseif grad>=70 disp('C') elseif grad>=60 disp('D') else disp('F') end |
Code Explanation:
Now we are gonna start out with our first if statement and our first logical expression. So if our grade is greater than or equal to 90 then we have received in “A” in the class
if grad>=90
disp(‘A’)
else if our grade is greater than or equal to 80 this is our second logical expression then display that we have received a grade “B” in the class
elseif grad>=80
disp(‘B’)
else if our grade is greater than or equal to 70 then display that we have received grade “C” in the class
elseif grad>=70
disp(‘C’)
else if our grade is greater than or equal to 60 then display we have received grade “D” in the class
elseif grad>=60
disp(‘D’)
And that’s going to be our last logical expression because if none of the previous logical expressions are true then our only other option is that we have received grade “F” in the class.
else
disp(‘F’)
So I am just going to use an else statement here because we only have one other option and we will display an Fand then we will end our program. So right now we will click run
Now we will enter the marks in the command window in order to find the grade of the subject. You see that we have an output and F to the command window and this is because the numeric grade that we entered at the beginning of the program was a 55 and so that is less than or equal to sixty. our last logical expression and so yes that did result in an F in the course.
Now we will give subject marks equal to 80 so the output will be: