Bird
Raised Fist0
MATLABdata~20 mins

Type checking (class, isa) in MATLAB - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
MATLAB Type Checking Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
What is the output of this MATLAB code using class()?

Consider the following MATLAB code snippet:

var = 3.14;
disp(class(var));

What will be printed to the console?

MATLAB
var = 3.14;
disp(class(var));
Adouble
Bsingle
Cint32
Dchar
Attempts:
2 left
💡 Hint

Check the default numeric type for decimal numbers in MATLAB.

❓ Predict Output
intermediate
2:00remaining
What does isa() return for a cell array?

Given this MATLAB code:

c = {1, 2, 3};
result = isa(c, 'cell');
disp(result);

What is the output?

MATLAB
c = {1, 2, 3};
result = isa(c, 'cell');
disp(result);
A1
B0
C'true'
D'false'
Attempts:
2 left
💡 Hint

isa returns logical true (1) or false (0).

❓ Predict Output
advanced
3:00remaining
What is the output of isa() for a subclass object?

Suppose you have a class Animal and a subclass Dog. Consider this code:

classdef Animal
end

classdef Dog < Animal
end

obj = Dog();
disp(isa(obj, 'Animal'));

What will be displayed?

MATLAB
classdef Animal
end

classdef Dog < Animal
end

obj = Dog();
disp(isa(obj, 'Animal'));
AError: Undefined function or variable 'Dog'
B0
CError: Invalid class definition
D1
Attempts:
2 left
💡 Hint

isa returns true if the object is an instance of the class or its subclass.

❓ Predict Output
advanced
2:00remaining
What error does this code raise when using class() on an undefined variable?

Analyze this MATLAB code:

disp(class(undefinedVar));

What error message will MATLAB produce?

MATLAB
disp(class(undefinedVar));
AError: Invalid class name.
BError: Syntax error near 'class'.
CError: Undefined function or variable 'undefinedVar'.
DNo error, prints 'double'.
Attempts:
2 left
💡 Hint

Check what happens when you use a variable that was never created.

🧠 Conceptual
expert
3:00remaining
Which option correctly checks if a variable is numeric or a subclass of numeric?

You want to check if a variable x is numeric or any subclass of numeric types in MATLAB. Which code snippet correctly does this?

Aisa(x, 'double') || isa(x, 'single')
Bisnumeric(x)
Cclass(x) == 'numeric'
Disa(x, 'numeric')
Attempts:
2 left
💡 Hint

Consider built-in functions designed for type checking of numeric data.

Practice

(1/5)
1. What does the class function in MATLAB return when used on a variable?
easy
A. True if the variable is numeric
B. The exact type name of the variable
C. The size of the variable
D. The value of the variable

Solution

  1. Step 1: Understand the purpose of class

    The class function returns the exact type name of the variable, such as 'double', 'char', or a user-defined class. Other choices describe checks for numeric type, size, or value, but class specifically returns the type name as a string.
  2. Final Answer:

    The exact type name of the variable -> Option B
  3. Quick Check:

    class = exact type name [OK]
Hint: Remember: class gives type name as text [OK]
Common Mistakes:
  • Confusing class with isa function
  • Thinking class returns size or value
  • Assuming class returns a boolean
2. Which of the following is the correct syntax to check if variable x is of class double using isa?
easy
A. class(x) == 'double'
B. isa('double', x)
C. isa(x, 'double')
D. class(x, 'double')

Solution

  1. Step 1: Recall isa function syntax

    The correct syntax is isa(variable, 'classname'), so to check if x is a double, use isa(x, 'double'). Using class(x) == 'double' compares strings unreliably, isa('double', x) reverses arguments, and class(x, 'double') has invalid syntax.
  2. Final Answer:

    isa(x, 'double') -> Option C
  3. Quick Check:

    isa(variable, 'class') syntax [OK]
Hint: isa(variable, 'classname') checks type safely [OK]
Common Mistakes:
  • Swapping arguments in isa
  • Using == to compare class strings
  • Calling class with two arguments
3. What is the output of the following MATLAB code?
x = 5; y = isa(x, 'double'); disp(y);
medium
A. 'double'
B. 0
C. Error
D. 1

Solution

  1. Step 1: Trace code execution

    Variable x is assigned 5, which defaults to class double in MATLAB. isa(x, 'double') returns logical true (displayed as 1), and disp(y) outputs 1.
  2. Final Answer:

    1 -> Option D
  3. Quick Check:

    isa(5, 'double') = 1 [OK]
Hint: Numeric literals are double by default [OK]
Common Mistakes:
  • Expecting 0 because 5 looks like int
  • Confusing output with class function
  • Thinking isa returns string
4. Identify the error in this MATLAB code snippet:
if isa('double', x)
    disp('x is double')
end
medium
A. Arguments of isa are reversed
B. Missing semicolon after disp
C. isa cannot be used inside if
D. No error, code is correct

Solution

  1. Step 1: Check isa function argument order

    The correct order is isa(variable, 'classname'), but here arguments are reversed to isa('double', x). A missing semicolon after disp or using isa in if are not errors.
  2. Final Answer:

    Arguments of isa are reversed -> Option A
  3. Quick Check:

    isa(variable, 'class') order matters [OK]
Hint: Always put variable first in isa() [OK]
Common Mistakes:
  • Swapping arguments in isa
  • Thinking missing semicolon causes error
  • Believing isa can't be used in if
5. You want to write a MATLAB function that accepts either a numeric array or a table. Which code snippet correctly uses isa to check the input type?
hard
A. if isa(input, 'double') || isa(input, 'table')
B. if isa(input, 'array') || isa(input, 'table')
C. if class(input) == 'numeric' || class(input) == 'table'
D. if isa(input, 'numeric') || isa(input, 'table')

Solution

  1. Step 1: Identify correct class names and syntax

    In MATLAB, numeric arrays usually have class 'double', not 'numeric' or 'array'. if isa(input, 'double') || isa(input, 'table') correctly checks either using proper isa syntax and logical OR.
  2. Final Answer:

    if isa(input, 'double') || isa(input, 'table') -> Option A
  3. Quick Check:

    Use isa with correct class names [OK]
Hint: Use isa with exact MATLAB class names [OK]
Common Mistakes:
  • Using 'numeric' instead of 'double'
  • Using class() with == for strings
  • Assuming 'array' is a class name
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