Bird
Raised Fist0
MATLABdata~10 mins

Logical indexing in MATLAB - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to select elements greater than 5 from the array.

MATLAB
A = [2, 7, 4, 9, 1];
result = A(A [1] 5);
Drag options to blanks, or click blank then click option'
A>
B<
C==
D~=
Attempts:
3 left
💡 Hint
Common Mistakes
Using '<' instead of '>' will select elements less than 5.
Using '==' will select only elements equal to 5.
2fill in blank
medium

Complete the code to replace elements less than 3 with zero using logical indexing.

MATLAB
A = [1, 4, 2, 6, 3];
A(A [1] 3) = 0;
Drag options to blanks, or click blank then click option'
A<=
B>
C<
D>=
Attempts:
3 left
💡 Hint
Common Mistakes
Using '>' will select elements greater than 3, which is incorrect here.
Using '<=' will include elements equal to 3, which is not intended.
3fill in blank
hard

Fix the error in the code to select even numbers using logical indexing.

MATLAB
A = [1, 2, 3, 4, 5];
evenNums = A(mod(A, 2) [1] 0);
Drag options to blanks, or click blank then click option'
A==
B<
C>
D~=
Attempts:
3 left
💡 Hint
Common Mistakes
Using '~=' selects odd numbers instead of even.
Using '>' or '<' does not correctly identify even numbers.
4fill in blank
hard

Fill both blanks to create a logical index for elements between 3 and 7 (inclusive).

MATLAB
A = [1, 4, 6, 8, 3];
idx = (A [1] 3) & (A [2] 7);
Drag options to blanks, or click blank then click option'
A>=
B<
C<=
D>
Attempts:
3 left
💡 Hint
Common Mistakes
Using '>' excludes 3, which is incorrect.
Using '<' excludes 7, which is incorrect.
5fill in blank
hard

Fill all three blanks to create a dictionary of elements and their squares for elements greater than 2.

MATLAB
A = [1, 3, 5, 2];
result = containers.Map(A(A [1] 2), A(A [2] 2) [3] 2);
Drag options to blanks, or click blank then click option'
A>
B.*
C.^
D+
Attempts:
3 left
💡 Hint
Common Mistakes
Using '.*' multiplies by 2 instead of squaring.
Using '+' adds 2 instead of squaring.

Practice

(1/5)
1. What does logical indexing in MATLAB allow you to do with an array A and a logical array L of the same size?
easy
A. Sort the elements of A based on L
B. Select elements of A where L is true
C. Change the size of A to match L
D. Convert A into a logical array

Solution

  1. Step 1: Understand logical indexing concept

    Logical indexing uses a logical array to pick elements from another array where the logical array is true.
  2. Step 2: Apply to arrays A and L

    Elements of A are selected only where L has true values, filtering A.
  3. Final Answer:

    Select elements of A where L is true -> Option B
  4. Quick Check:

    Logical indexing = select elements [OK]
Hint: Logical array true picks elements from original array [OK]
Common Mistakes:
  • Thinking logical indexing changes array size arbitrarily
  • Confusing logical indexing with sorting
  • Assuming logical indexing converts data types
2. Which of the following is the correct syntax to select elements of vector v that are greater than 5 using logical indexing?
easy
A. v(v > 5)
B. v > 5(v)
C. v{v > 5}
D. v[v > 5]

Solution

  1. Step 1: Identify correct logical indexing syntax

    In MATLAB, logical indexing uses parentheses with a logical condition inside, like v(condition).
  2. Step 2: Check each option

    v(v > 5) uses v(v > 5), which is correct syntax. The other options use invalid indexing forms.
  3. Final Answer:

    v(v > 5) -> Option A
  4. Quick Check:

    Logical indexing syntax = v(condition) [OK]
Hint: Use parentheses with condition inside for logical indexing [OK]
Common Mistakes:
  • Using curly braces or square brackets for logical indexing
  • Placing condition outside parentheses
  • Confusing logical indexing with cell or array indexing
3. Given A = [3, 7, 2, 9, 5], what is the result of A(A > 4)?
medium
A. [2, 5]
B. [3, 7, 2, 9, 5]
C. [7, 9]
D. [7, 9, 5]

Solution

  1. Step 1: Create logical array for condition A > 4

    Check each element: 3>4?false, 7>4?true, 2>4?false, 9>4?true, 5>4?true. Logical array = [false, true, false, true, true].
  2. Step 2: Select elements of A where logical array is true

    Elements at true positions: 7, 9, 5.
  3. Final Answer:

    [7, 9, 5] -> Option D
  4. Quick Check:

    Elements > 4 = [7, 9, 5] [OK]
Hint: Filter elements by condition, then pick true positions [OK]
Common Mistakes:
  • Including elements not greater than 4
  • Confusing logical indexing with logical AND operation
  • Returning original array instead of filtered
4. What is wrong with this MATLAB code snippet?
A = [1, 4, 6, 8];
L = [true, false];
B = A(L);
medium
A. Logical array L size does not match A size
B. Logical array L must contain only numeric values
C. Cannot use logical indexing on row vectors
D. Syntax error in logical indexing

Solution

  1. Step 1: Check sizes of A and L

    A has 4 elements, L has 2 elements. Logical indexing requires L to be same size as A.
  2. Step 2: Identify error cause

    Since sizes differ, MATLAB will give an error when using L to index A.
  3. Final Answer:

    Logical array L size does not match A size -> Option A
  4. Quick Check:

    Logical array size must match data size [OK]
Hint: Logical array must be same size as indexed array [OK]
Common Mistakes:
  • Assuming logical array can be smaller
  • Thinking logical array must be numeric
  • Believing logical indexing syntax is wrong here
5. You have a matrix M = [2, 5, 8; 1, 7, 3; 4, 6, 9]. How do you replace all elements less than 5 with zero using logical indexing?
hard
A. M(M <= 5) = 0;
B. M(M > 5) = 0;
C. M(M < 5) = 0;
D. M(M == 5) = 0;

Solution

  1. Step 1: Identify elements less than 5 in M

    Elements less than 5 are 2, 1, 3, 4.
  2. Step 2: Use logical indexing to assign zero to these elements

    Using M(M < 5) = 0; replaces all elements less than 5 with zero.
  3. Final Answer:

    M(M < 5) = 0; -> Option C
  4. Quick Check:

    Replace elements < 5 with 0 using M(M < 5) = 0 [OK]
Hint: Use condition inside parentheses to assign new values [OK]
Common Mistakes:
  • Replacing wrong elements by using > or == instead of <
  • Using incorrect logical operators
  • Trying to assign without logical indexing
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