Bird
Raised Fist0
MATLABdata~30 mins

Switch-case statements in MATLAB - Mini Project: Build & Apply

Choose your learning style10 modes available
Using Switch-Case Statements in MATLAB
📖 Scenario: You are creating a simple program that helps a coffee shop decide the price of a drink based on the size selected by the customer.
🎯 Goal: Build a MATLAB program that uses a switch-case statement to assign prices to different coffee sizes.
📋 What You'll Learn
Create a variable called size with a specific coffee size value.
Create a variable called price to store the price of the coffee.
Use a switch statement on the size variable with cases for 'small', 'medium', and 'large'.
Assign the correct price for each size: 2.5 for small, 3.5 for medium, and 4.5 for large.
Add a otherwise case that assigns 0 to price if the size is not recognized.
Print the price using fprintf with the format: 'The price is $X.XX\n'.
💡 Why This Matters
🌍 Real World
Coffee shops and many businesses use switch-case logic to decide prices or actions based on customer choices.
💼 Career
Understanding switch-case statements is important for writing clear and efficient decision-making code in many programming jobs.
Progress0 / 4 steps
1
Create the coffee size variable
Create a variable called size and set it to the string 'medium'.
MATLAB
Hint

Use single quotes for strings in MATLAB, like 'medium'.

2
Create the price variable
Create a variable called price and set it to 0 as a starting value.
MATLAB
Hint

Initialize price to zero before the switch-case.

3
Use switch-case to assign price
Write a switch statement on the variable size with cases for 'small', 'medium', and 'large'. Assign price = 2.5 for 'small', price = 3.5 for 'medium', and price = 4.5 for 'large'. Add an otherwise case that sets price = 0.
MATLAB
Hint

Remember to end the switch statement with end.

4
Print the price
Use fprintf to print the price in the format: 'The price is $X.XX\n', where X.XX is the value of price.
MATLAB
Hint

Use %.2f in fprintf to format the price with two decimal places.

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