This checks if A is numeric data (true for arrays of numbers).
MATLAB
A = [1, 2, 3];
isNumeric = isnumeric(A);
Sample Program
This program checks the type of x and str and prints messages accordingly.
MATLAB
x = 10;
if isa(x, 'double')
disp('x is a double number')
else
disp('x is not a double number')
end
str = 'hello';
if strcmp(class(str), 'char')
disp('str is a character array')
else
disp('str is not a character array')
end
OutputSuccess
Important Notes
Use class when you want the exact type name as a string.
Use isa when you want to check if a variable belongs to a class or its subclass.
Remember that isa returns a logical true or false, which is useful in conditions.
Summary
class tells you the exact type name of a variable.
isa checks if a variable is of a certain class or inherits from it.
Type checking helps your program handle data safely and correctly.
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
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.
Final Answer:
The exact type name of the variable -> Option B
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
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.
Final Answer:
isa(x, 'double') -> Option C
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
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.
Final Answer:
1 -> Option D
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
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.
Final Answer:
Arguments of isa are reversed -> Option A
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
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.
Final Answer:
if isa(input, 'double') || isa(input, 'table') -> Option A
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 unknownstrongwhile earning +1 Grip toward your certificate.