Bird
Raised Fist0
MATLABdata~5 mins

Relational expressions in MATLAB

Choose your learning style10 modes available
Introduction

Relational expressions help you compare values to see if one is bigger, smaller, or equal to another. This is useful to make decisions in your program.

Checking if a number is greater than a limit before proceeding.
Comparing two variables to see if they are equal.
Finding out if a value is less than or equal to a threshold.
Filtering data by selecting only values that meet a condition.
Controlling loops that run while a condition is true.
Syntax
MATLAB
result = (value1 operator value2);

% Operators:
% ==  Equal to
% ~=  Not equal to
% >   Greater than
% <   Less than
% >=  Greater than or equal to
% <=  Less than or equal to

The result is always logical: true (1) or false (0).

Use parentheses to make the comparison clear and avoid mistakes.

Examples
This checks if a is less than b. The result will be true because 5 is less than 10.
MATLAB
a = 5;
b = 10;
result = (a < b);
This checks if x is equal to y. The result will be true because both are 7.
MATLAB
x = 7;
y = 7;
result = (x == y);
This checks if score is greater than or equal to pass_mark. The result will be true because 85 is more than 60.
MATLAB
score = 85;
pass_mark = 60;
is_pass = (score >= pass_mark);
Sample Program

This program compares two numbers a and b. It prints a message if a is less than b. Then it checks if they are equal and shows the result.

MATLAB
a = 12;
b = 20;

if a < b
    disp('a is less than b');
else
    disp('a is not less than b');
end

is_equal = (a == b);
disp(['Are a and b equal? ', mat2str(is_equal)]);
OutputSuccess
Important Notes

Relational expressions return logical values: 1 for true and 0 for false.

You can use relational expressions inside if statements to control program flow.

Remember to use == for equality, not = which is for assignment.

Summary

Relational expressions compare two values and return true or false.

Common operators include ==, ~=, >, <, >=, and <=.

They are useful for making decisions and controlling program flow.

Practice

(1/5)
1. Which of the following relational operators in MATLAB checks if two values are NOT equal?
easy
A. ==
B. <=
C. >=
D. ~=

Solution

  1. Step 1: Understand the meaning of relational operators

    The operator == checks equality, ~= checks inequality, and >=, <= check greater or equal and less or equal respectively.
  2. Step 2: Identify the operator for NOT equal

    The operator ~= means NOT equal in MATLAB.
  3. Final Answer:

    ~= -> Option D
  4. Quick Check:

    NOT equal operator = ~= [OK]
Hint: Remember: ~= means NOT equal in MATLAB [OK]
Common Mistakes:
  • Confusing == with ~=
  • Using = instead of ==
  • Mixing up >= and >
2. Which of the following is the correct syntax to check if variable a is greater than or equal to 10 in MATLAB?
easy
A. a >== 10
B. a >= 10
C. a =< 10
D. a => 10

Solution

  1. Step 1: Recall MATLAB relational operator syntax

    MATLAB uses >= to mean greater than or equal to.
  2. Step 2: Check each option for correct syntax

    a >= 10 uses >= correctly. Options A, B, and C use invalid or reversed operators.
  3. Final Answer:

    a >= 10 -> Option B
  4. Quick Check:

    Greater or equal operator = >= [OK]
Hint: Use >= for greater or equal, not => or =< [OK]
Common Mistakes:
  • Writing => instead of >=
  • Writing =< instead of <=
  • Adding extra = signs
3. What is the output of the following MATLAB code?
a = 5; b = 7;
result = (a < b) & (b <= 7);
disp(result);
medium
A. 1
B. 0
C. Error
D. [1 0]

Solution

  1. Step 1: Evaluate each relational expression

    a < b is 5 < 7 which is true (1). b <= 7 is 7 <= 7 which is true (1).
  2. Step 2: Apply logical AND operator &

    Both expressions are true, so (1 & 1) equals 1 (true).
  3. Final Answer:

    1 -> Option A
  4. Quick Check:

    True & True = 1 [OK]
Hint: True & True gives 1, false & anything gives 0 [OK]
Common Mistakes:
  • Confusing & with &&
  • Expecting output as logical word instead of 1
  • Misreading <= operator
4. Identify the error in this MATLAB code snippet:
x = 10;
if x = 10
disp('Equal to 10');
end
medium
A. Using = instead of == in if condition
B. Missing semicolon after disp statement
C. Incorrect use of end keyword
D. Variable x is not initialized

Solution

  1. Step 1: Check the if condition syntax

    In MATLAB, = is assignment, == is comparison. Using = in if causes error.
  2. Step 2: Confirm other parts are correct

    Semicolon after disp is optional, end is correctly used, x is initialized.
  3. Final Answer:

    Using = instead of == in if condition -> Option A
  4. Quick Check:

    Comparison needs ==, not = [OK]
Hint: Use == for comparison inside if, not = [OK]
Common Mistakes:
  • Using = instead of ==
  • Thinking semicolon is mandatory after disp
  • Misplacing end keyword
5. Given a vector v = [3, 6, 9, 12], which MATLAB expression returns a logical array indicating elements greater than 5 and less than or equal to 10?
hard
A. v > (5 & v) <= 10
B. v > 5 && v <= 10
C. (v > 5) & (v <= 10)
D. (v > 5) | (v <= 10)

Solution

  1. Step 1: Understand vector relational operations

    Relational operators applied to vectors return logical arrays element-wise.
  2. Step 2: Combine conditions correctly with parentheses and &

    Use parentheses around each condition: (v > 5) & (v <= 10) to get elements satisfying both.
  3. Step 3: Check other options for syntax errors

    v > 5 && v <= 10 uses short-circuit &&, invalid for vectors. v > (5 & v) <= 10 is invalid syntax. (v > 5) | (v <= 10) uses OR instead of AND.
  4. Final Answer:

    (v > 5) & (v <= 10) -> Option C
  5. Quick Check:

    Use parentheses with & for combined conditions [OK]
Hint: Always use parentheses around each relational condition [OK]
Common Mistakes:
  • Using && instead of & for array operations
  • Using | instead of & for AND
  • Writing invalid combined expressions
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