Categories
2. Control Statements

Switch Statement?

In this article, we will see the Switch Statement in Matlab. Before that let see what is Matlab.
The name MATLAB is a short form of Matrix Laboratory. MATLAB is one of the best programming languages for scientists and technical computing. It contains an environment for computation, data visualization, and logic programming. It contains inbuilt editing and error debugging tools, and it supports the idea of OOP. These factors make MATLAB great use and a preferred tool for academic teaching and research.

We are familiar with the basic concepts of MATLAB. We know MATLAB data types, basic operations in MATLAB and loops. In this article, we shall focus on the switch. Switch statements are another control flow logic in MATLAB which is used extensively. Let’s learn about the switch.

In general, we can create multiple alternative selection logic using the if-else, If statements. However, that method makes the code long and also hard to read and debug, we have another good way or let’s say a better way to make those selections. A switch statement helps us choose one among a number of options using code that is easier to read, as said and less time-consuming to typing and editing. The results from both these methods are essentially the same, but the method of implementation varies.

Syntax of Switch Statement in Matlab

In this section, we provide the standard syntax of the switch statements and provide step by step explanation.

switch switch_condition
case case_condition
statements_if_true
case case_condition
statements_if_true
...
Otherwise_condition
Statements_if_true
end

Explanation

The first two lines “switch_ condition, case_ condition, end” performs an evaluation of an expression and then make a choice for executing one of several statements. Each of such choices is called a case.

The switch block performs the test on each case until one of the case expressions is found to be true. A case is termed as true when if satisfy:

  • In the case of numbers, its case_ condition is equal to the switch_ condition.
  • In the case of character data types, its strcmp(case_ condition, switch_ condition) is equal to 1.
  • In the case of objects which support the equation like function, case_ condition should be equal to switch_ condition.
  • In the case of cell array type data structure minimum, one of the given elements of the cell array will match with the given switch_ condition.
  • When a case condition is found to be true then MATLAB executes that statement and after execution come out of the switch
  • For it to work properly, the evaluated switch_ condition should be scalar data type or character vector data type.
  • The otherwise block is optional and is executed when no case is found to be true.

Flow Diagram in Switch Statement in Matlab

In this section, we provide the flow diagram for the above syntax for easy understanding. If you simply read each block of statements, you would be able to understand the working of a switch. That’s the power of flow diagram and that is why it is taught to every beginner programmer. It helps you frame your logic and design the error-free code before actually writing it.

Switch Statement in Matlab 2 (flow chart)

How Switch Statement Works in MATLAB?

We understood the technical details of the switch statement. Lest focus a little more on its working now.

A switch block as mentioned previously, conditionally executes one set of statements based on criteria from several choices. Each of these choices is covered by a case statement.

When we see examples in the section below, the construct of the switch statement as well as its function will be clearer. A couple of things that we can notice is that the switch statement in MATLAB may be a little different than the other programming language. For example, The MATLAB switch construct is different in some respects from the C programming language construct of the switch. The C switch construct allows for execution to go through many case groups before its execution halts. In C, we can use break statements to control the execution. The idea, however, is different in MATLAB, where switch construct executes one case group only and hence it does not need break statements.

Examples of Switch Statement in Matlab

Let us see some of the examples of the switch statement in Matlab.

Example 1:

This example does a very simple job. The core idea is to pass through a switch statement and print message based on some condition. We create a basic logic of matching the number and providing an output based on the number.

N = input('Enter a number of your choice: ');
switch N
case -2
disp('negative one selected')
case 0
disp('zero selected')
case 2
disp('positive one selected')
otherwise
disp('Some other value')
end

Output:

At the command prompt, enter the number -2.

negative two

Repeat the code and enter the number 5.

Some other value

Example 2:

In this example of Switch Statement in Matlab, based on the grade obtained, we classify the distinction.

Enter_grade = 'A';
switch(enter_grade)
case 'A'
fprintf('Excellent performance!\n' );
case 'B'
fprintf('Well done performance\n' );
case 'C'
fprintf('Very Good performance\n' );
case 'D'
fprintf('You passed.. Congratulations\n' );
case 'F'
fprintf('Better luck next time\n' );
otherwise
fprintf('Invalid grade. Please enter correct value\n' );
end



Output:

After running, it will display Excellent Performance as the chosen grade in the first line of code is A. Replace that A with B and run again, you will get the output as Well-done Performance. So, based on the grade selected, the distinction comes, and all of this could be done is about 10 lines of code. Imagine doing the same user if-else logic and the code will be much longer and will contain many additional conditional statements.

Leave a Reply

Your email address will not be published. Required fields are marked *