Bird
Raised Fist0
MATLABdata~20 mins

Switch-case statements in MATLAB - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Switch-Case Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
Output of a simple switch-case
What is the output of the following MATLAB code?
MATLAB
x = 3;
switch x
    case 1
        disp('One')
    case 2
        disp('Two')
    case 3
        disp('Three')
    otherwise
        disp('Other')
end
AThree
BTwo
COne
DOther
Attempts:
2 left
💡 Hint
Check which case matches the value of x.
❓ Predict Output
intermediate
2:00remaining
Switch-case with string input
What will this MATLAB code display?
MATLAB
color = 'red';
switch color
    case 'blue'
        disp('Blue color')
    case 'red'
        disp('Red color')
    case 'green'
        disp('Green color')
    otherwise
        disp('Unknown color')
end
ABlue color
BRed color
CUnknown color
DGreen color
Attempts:
2 left
💡 Hint
Look at the value of the variable color.
❓ Predict Output
advanced
2:00remaining
Switch-case with multiple values in one case
What does this MATLAB code print?
MATLAB
val = 5;
switch val
    case {1, 3, 5}
        disp('Odd number')
    case {2, 4, 6}
        disp('Even number')
    otherwise
        disp('Other number')
end
AOther number
BEven number
COdd number
DError
Attempts:
2 left
💡 Hint
Check which group contains the value 5.
❓ Predict Output
advanced
2:00remaining
Switch-case with numeric and string mismatch
What error or output does this MATLAB code produce?
MATLAB
x = 2;
switch x
    case '2'
        disp('String two')
    case 2
        disp('Numeric two')
    otherwise
        disp('No match')
end
ANumeric two
BString two
CNo match
DError
Attempts:
2 left
💡 Hint
MATLAB distinguishes between strings and numbers in switch cases.
❓ Predict Output
expert
3:00remaining
Switch-case with cell array and fall-through behavior
What is the output of this MATLAB code?
MATLAB
val = 'b';
switch val
    case {'a', 'b'}
        disp('First group')
    case {'b', 'c'}
        disp('Second group')
    otherwise
        disp('No group')
end
ASecond group
BError
CNo group
DFirst group
Attempts:
2 left
💡 Hint
MATLAB switch stops at the first matching case.

Practice

(1/5)
1. What is the main purpose of a switch-case statement in MATLAB?
easy
A. To repeat a block of code multiple times
B. To create a new variable
C. To define a function
D. To execute different blocks of code based on the value of a variable

Solution

  1. Step 1: Understand the role of switch-case

    A switch-case statement chooses which code to run depending on a variable's value.
  2. Step 2: Compare with other options

    Repeating code is done by loops, defining functions is different, and creating variables is unrelated.
  3. Final Answer:

    To execute different blocks of code based on the value of a variable -> Option D
  4. Quick Check:

    Switch-case selects code by value [OK]
Hint: Switch-case runs code based on one variable's value [OK]
Common Mistakes:
  • Confusing switch-case with loops
  • Thinking switch-case defines functions
  • Assuming switch-case creates variables
2. Which of the following is the correct syntax to start a switch-case block in MATLAB?
easy
A. switch variable
B. case variable
C. switch-case(variable)
D. switch = variable

Solution

  1. Step 1: Recall switch-case syntax

    The switch statement starts with the keyword switch followed by the variable name.
  2. Step 2: Check each option

    switch variable matches correct syntax. Options A, B, and C are invalid MATLAB syntax for switch.
  3. Final Answer:

    switch variable -> Option A
  4. Quick Check:

    Start switch with 'switch variable' [OK]
Hint: Start switch with 'switch' plus variable name [OK]
Common Mistakes:
  • Using parentheses after switch
  • Writing 'case' instead of 'switch' to start
  • Assigning variable with '=' in switch
3. What will be the output of this MATLAB code?
color = 'green';
switch color
    case 'red'
        disp('Stop')
    case 'green'
        disp('Go')
    otherwise
        disp('Wait')
end
medium
A. Go
B. Wait
C. Stop
D. Error

Solution

  1. Step 1: Check the value of variable 'color'

    The variable color is set to 'green'.
  2. Step 2: Match the case in switch

    The switch checks cases: 'red' (no), 'green' (yes), so it runs disp('Go').
  3. Final Answer:

    Go -> Option A
  4. Quick Check:

    color='green' triggers 'Go' [OK]
Hint: Match variable value to case labels to find output [OK]
Common Mistakes:
  • Choosing output from wrong case
  • Ignoring the otherwise block
  • Assuming syntax error
4. Identify the error in this MATLAB switch-case code:
value = 10;
switch value
case 5
    disp('Five')
case 10
    disp('Ten')
case
    disp('Other')
end
medium
A. Incorrect variable name in switch
B. Missing 'otherwise' keyword for default case
C. Missing 'end' statement
D. Case values must be strings

Solution

  1. Step 1: Review the case statements

    The last case has no value and no keyword 'otherwise'. MATLAB requires 'otherwise' for default.
  2. Step 2: Check syntax rules

    Case values can be numbers, 'end' is present, variable name is correct.
  3. Final Answer:

    Missing 'otherwise' keyword for default case -> Option B
  4. Quick Check:

    Default case needs 'otherwise' keyword [OK]
Hint: Use 'otherwise' for default case, not empty case [OK]
Common Mistakes:
  • Leaving case without value or otherwise
  • Thinking 'end' is missing
  • Believing case values must be strings
5. You want to write a MATLAB switch-case that prints 'Weekend' for days 'Saturday' and 'Sunday', 'Weekday' for Monday to Friday, and 'Invalid' otherwise. Which code correctly implements this?
hard
A. switch day case ['Saturday', 'Sunday'] disp('Weekend') case ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday'] disp('Weekday') otherwise disp('Invalid') end
B. switch day case 'Saturday' || 'Sunday' disp('Weekend') case 'Monday' || 'Tuesday' || 'Wednesday' || 'Thursday' || 'Friday' disp('Weekday') otherwise disp('Invalid') end
C. switch day case {'Saturday', 'Sunday'} disp('Weekend') case {'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday'} disp('Weekday') otherwise disp('Invalid') end
D. switch day case 'Saturday', 'Sunday' disp('Weekend') case 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday' disp('Weekday') otherwise disp('Invalid') end

Solution

  1. Step 1: Understand how to group cases in MATLAB

    MATLAB allows grouping multiple values in a cell array inside case, like {'Saturday', 'Sunday'}.
  2. Step 2: Check each option's syntax

    switch day case {'Saturday', 'Sunday'} disp('Weekend') case {'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday'} disp('Weekday') otherwise disp('Invalid') end uses correct cell arrays for grouping. switch day case 'Saturday' || 'Sunday' disp('Weekend') case 'Monday' || 'Tuesday' || 'Wednesday' || 'Thursday' || 'Friday' disp('Weekday') otherwise disp('Invalid') end uses invalid '||' inside case. switch day case ['Saturday', 'Sunday'] disp('Weekend') case ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday'] disp('Weekday') otherwise disp('Invalid') end uses square brackets which is wrong for strings. switch day case 'Saturday', 'Sunday' disp('Weekend') case 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday' disp('Weekday') otherwise disp('Invalid') end uses commas incorrectly.
  3. Final Answer:

    Code with cell arrays for grouped cases -> Option C
  4. Quick Check:

    Group cases with cell arrays {} in switch-case [OK]
Hint: Group multiple cases using curly braces {} [OK]
Common Mistakes:
  • Using || inside case labels
  • Using square brackets for string groups
  • Separating cases with commas instead of cell arrays
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard