Bird
Raised Fist0
MATLABdata~20 mins

Function definition syntax in MATLAB - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
MATLAB Function Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
Output of a simple function call
What is the output of this MATLAB code when calling result = addTwoNumbers(3, 5); disp(result);?
MATLAB
function sum = addTwoNumbers(a, b)
    sum = a + b;
end
A8
B35
CError: Undefined function or variable 'addTwoNumbers'.
D0
Attempts:
2 left
💡 Hint
Remember that the function adds the two input numbers.
❓ Predict Output
intermediate
2:00remaining
Output of a function with multiple outputs
What is the output of this MATLAB code snippet?
[minVal, maxVal] = findMinMax([4, 7, 1, 9]); disp([minVal, maxVal]);
MATLAB
function [minVal, maxVal] = findMinMax(arr)
    minVal = min(arr);
    maxVal = max(arr);
end
AError: Too many output arguments.
B[4 7]
C[9 1]
D[1 9]
Attempts:
2 left
💡 Hint
The function returns the smallest and largest numbers in the array.
❓ Predict Output
advanced
2:00remaining
Output of a nested function call
What is the output of this MATLAB code?
result = outerFunction(4); disp(result);
MATLAB
function out = outerFunction(x)
    function y = innerFunction(z)
        y = z^2;
    end
    out = innerFunction(x) + 1;
end
A17
B16
CError: Nested functions are not allowed.
D5
Attempts:
2 left
💡 Hint
The inner function squares the input, then 1 is added.
❓ Predict Output
advanced
2:00remaining
Output of a function with default argument behavior
What is the output of this MATLAB code?
disp(greet()); disp(greet('Alice'));
MATLAB
function message = greet(name)
    if nargin == 0
        name = 'Guest';
    end
    message = ['Hello, ', name, '!'];
end
AHello, !<br>Hello, Alice!
BHello, Guest!<br>Hello, Alice!
CError: Not enough input arguments.
DHello, Guest!<br>Hello, Guest!
Attempts:
2 left
💡 Hint
Check how the function handles missing input arguments.
❓ Predict Output
expert
2:00remaining
Output of a recursive function
What is the output of this MATLAB code?
disp(factorialRecursive(4));
MATLAB
function f = factorialRecursive(n)
    if n == 0
        f = 1;
    else
        f = n * factorialRecursive(n - 1);
    end
end
A1
B10
C24
DError: Maximum recursion limit exceeded.
Attempts:
2 left
💡 Hint
Recall how factorial is calculated recursively.

Practice

(1/5)
1. Which of the following correctly describes the purpose of a function in MATLAB?
easy
A. To run MATLAB without installing it
B. To store data permanently on the computer
C. To create reusable blocks of code that perform specific tasks
D. To display graphics on the screen

Solution

  1. Step 1: Understand what functions do

    Functions are designed to perform specific tasks repeatedly without rewriting code.
  2. Step 2: Match purpose with options

    Only To create reusable blocks of code that perform specific tasks describes reusable code blocks, which is the main purpose of functions.
  3. Final Answer:

    To create reusable blocks of code that perform specific tasks -> Option C
  4. Quick Check:

    Function purpose = reusable code [OK]
Hint: Functions are for reusable code blocks [OK]
Common Mistakes:
  • Confusing functions with data storage
  • Thinking functions display graphics by default
  • Assuming functions run MATLAB itself
2. Which of the following is the correct syntax to define a function named addNumbers that takes two inputs a and b and returns their sum c?
easy
A. function addNumbers = c(a, b)
B. function c = addNumbers(a, b)
C. def addNumbers(a, b):
D. func c(a, b) = addNumbers

Solution

  1. Step 1: Recall MATLAB function syntax

    MATLAB functions start with the keyword 'function', then output(s), '=', function name, and input(s) in parentheses.
  2. Step 2: Check each option

    function c = addNumbers(a, b) matches this syntax exactly. Options A, B, and D use incorrect keywords or order.
  3. Final Answer:

    function c = addNumbers(a, b) -> Option B
  4. Quick Check:

    function keyword + output = name(inputs) [OK]
Hint: Start with 'function', then output = name(inputs) [OK]
Common Mistakes:
  • Using Python syntax like 'def'
  • Placing function name before output incorrectly
  • Using wrong keywords like 'func'
3. What will be the output of the following MATLAB function call?
function y = squareNum(x)
    y = x^2;
end

result = squareNum(4); disp(result);
medium
A. Error: Undefined function
B. 8
C. 4
D. 16

Solution

  1. Step 1: Understand the function behavior

    The function squares the input number x by calculating x^2.
  2. Step 2: Calculate the output for input 4

    4 squared is 4 * 4 = 16.
  3. Final Answer:

    16 -> Option D
  4. Quick Check:

    4 squared = 16 [OK]
Hint: Square input number to get output [OK]
Common Mistakes:
  • Confusing ^ with multiplication
  • Expecting addition instead of power
  • Assuming function is undefined
4. Identify the error in the following MATLAB function definition:
function result = multiply(a, b)
result = a * b
end
medium
A. Missing semicolon after the multiplication statement
B. Function name does not match the file name
C. Incorrect use of the multiplication operator
D. Missing 'function' keyword

Solution

  1. Step 1: Check syntax inside the function

    MATLAB statements should end with a semicolon to suppress output; here, it's missing after 'result = a * b'.
  2. Step 2: Verify other parts

    The function keyword is present, the operator is correct, and file name matching is not shown but assumed correct.
  3. Final Answer:

    Missing semicolon after the multiplication statement -> Option A
  4. Quick Check:

    Statements need semicolon [OK]
Hint: End statements with semicolon to avoid errors [OK]
Common Mistakes:
  • Forgetting semicolons after statements
  • Assuming multiplication operator is wrong
  • Ignoring file name and function name match
5. You want to create a MATLAB function named convertToFahrenheit that takes a Celsius temperature input and returns the Fahrenheit equivalent. Which of the following is the correct complete function definition?
hard
A. function F = convertToFahrenheit(C) F = (C * 9/5) + 32; end
B. function convertToFahrenheit = F(C) F = (C + 32) * 9/5; end
C. function F = convertToFahrenheit(C) F = (C - 32) * 5/9; end
D. function F = convertToFahrenheit(C) F = C * 5/9 + 32; end

Solution

  1. Step 1: Recall the formula for Celsius to Fahrenheit

    The correct formula is Fahrenheit = (Celsius * 9/5) + 32.
  2. Step 2: Check each function definition

    function F = convertToFahrenheit(C) F = (C * 9/5) + 32; end uses the correct formula and syntax. Options A, C, and D have wrong formulas or incorrect output variable assignment.
  3. Final Answer:

    function F = convertToFahrenheit(C) F = (C * 9/5) + 32; end -> Option A
  4. Quick Check:

    Celsius to Fahrenheit formula = (C * 9/5) + 32 [OK]
Hint: Use correct formula: F = (C * 9/5) + 32 [OK]
Common Mistakes:
  • Mixing Celsius to Fahrenheit with Fahrenheit to Celsius formula
  • Swapping output and function name
  • Missing semicolons or wrong operators
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