Bird
Raised Fist0
MATLABdata~10 mins

Nested loops 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 create a nested loop that prints numbers 1 to 3 for both loops.

MATLAB
for i = 1:3
    for j = 1:[1]
        disp([i, j])
    end
end
Drag options to blanks, or click blank then click option'
A4
B2
C3
D5
Attempts:
3 left
💡 Hint
Common Mistakes
Using a different range for the inner loop causing fewer or more iterations.
2fill in blank
medium

Complete the code to sum all elements in a 2D matrix using nested loops.

MATLAB
total = 0;
for row = 1:size(matrix, 1)
    for col = 1:size(matrix, [1])
        total = total + matrix(row, col);
    end
end
Drag options to blanks, or click blank then click option'
A4
B1
C3
D2
Attempts:
3 left
💡 Hint
Common Mistakes
Using size(matrix, 1) for columns which is actually rows.
3fill in blank
hard

Fix the error in the nested loops that print the multiplication table from 1 to 5.

MATLAB
for i = 1:5
    for j = 1:[1]
        fprintf('%d x %d = %d\n', i, j, i*j);
    end
end
Drag options to blanks, or click blank then click option'
A5
B3
C6
D4
Attempts:
3 left
💡 Hint
Common Mistakes
Using a smaller range in the inner loop causing incomplete output.
4fill in blank
hard

Fill both blanks to create a nested loop that fills a matrix with the product of its indices.

MATLAB
rows = 3;
cols = 4;
result = zeros(rows, cols);
for r = 1:[1]
    for c = 1:[2]
        result(r, c) = r * c;
    end
end
Drag options to blanks, or click blank then click option'
Arows
Bcols
C4
D3
Attempts:
3 left
💡 Hint
Common Mistakes
Swapping rows and columns in the loops.
5fill in blank
hard

Fill all three blanks to create a nested loop that counts how many elements in a matrix are greater than 10.

MATLAB
count = 0;
for i = 1:[1]
    for j = 1:[2]
        if matrix(i, j) [3] 10
            count = count + 1;
        end
    end
end
Drag options to blanks, or click blank then click option'
Asize(matrix, 1)
Bsize(matrix, 2)
C>
D<
Attempts:
3 left
💡 Hint
Common Mistakes
Using wrong size dimensions or wrong comparison operator.

Practice

(1/5)
1. What does a nested loop in MATLAB do?
for i = 1:2
for j = 1:3
disp([i, j])
end
end
easy
A. Runs one loop inside another to repeat tasks multiple times
B. Runs two loops one after another without overlap
C. Creates a single loop with combined ranges
D. Stops execution after the first loop finishes

Solution

  1. Step 1: Understand the loop structure

    The outer loop runs with i from 1 to 2, and inside it, the inner loop runs with j from 1 to 3.
  2. Step 2: Identify nested loop behavior

    For each i, the inner loop runs fully for all j values, repeating tasks multiple times.
  3. Final Answer:

    Runs one loop inside another to repeat tasks multiple times -> Option A
  4. Quick Check:

    Nested loops repeat inner loop for each outer loop iteration [OK]
Hint: Nested loops repeat inner loop fully for each outer loop step [OK]
Common Mistakes:
  • Thinking loops run sequentially without nesting
  • Confusing nested loops with single combined loops
  • Assuming loops stop early without completing inner loop
2. Which of the following is the correct syntax for a nested for loop in MATLAB?
easy
A. for i = 1:3 disp(i) for j = 1:2 disp(j) end
B. for i = 1:3 for j = 1:2 disp(i+j) end
C. for i = 1:3 for j = 1:2 disp(i+j) end
D. for i = 1:3 for j = 1:2 disp(i+j) end end

Solution

  1. Step 1: Check proper loop nesting and end statements

    for i = 1:3 for j = 1:2 disp(i+j) end end correctly nests the inner loop inside the outer loop and closes both with end.
  2. Step 2: Identify syntax errors in other options

    The other options miss proper indentation or have missing end statements causing syntax errors.
  3. Final Answer:

    for i = 1:3 for j = 1:2 disp(i+j) end end -> Option D
  4. Quick Check:

    Proper nested loops need matching end for each for [OK]
Hint: Each for loop must have its own end statement [OK]
Common Mistakes:
  • Missing end for inner or outer loop
  • Incorrect indentation causing confusion
  • Starting loops without proper nesting
3. What is the output of this MATLAB code?
for i = 1:2
  for j = 1:2
    fprintf('%d ', i*j)
  end
  fprintf('\n')
end
medium
A. 1 2 2 4
B. 1 1 2 2
C. 1 2 2 4
D. 2 4 1 2

Solution

  1. Step 1: Calculate inner loop outputs for each outer loop value

    When i=1, j=1:2, outputs are 1*1=1 and 1*2=2. When i=2, j=1:2, outputs are 2*1=2 and 2*2=4.
  2. Step 2: Format output with new lines

    Each inner loop prints values with space, then outer loop prints newline. So output lines are '1 2 ' and '2 4 '.
  3. Final Answer:

    1 2 2 4 -> Option C
  4. Quick Check:

    Multiply i and j in nested loops for output [OK]
Hint: Multiply outer and inner loop vars for each output [OK]
Common Mistakes:
  • Ignoring newline after inner loop
  • Mixing up i and j values
  • Printing all values in one line
4. Find the error in this nested loop code:
for i = 1:3
  for j = 1:2
    disp(i+j)
end
medium
A. Missing end for outer loop
B. Inner loop range is incorrect
C. disp function is used incorrectly
D. Loop variables i and j are not initialized

Solution

  1. Step 1: Check loop endings

    The inner loop has an end, but the outer loop does not have its closing end.
  2. Step 2: Identify syntax error cause

    Missing the outer loop's end causes MATLAB to throw an error.
  3. Final Answer:

    Missing end for outer loop -> Option A
  4. Quick Check:

    Each for loop needs its own end [OK]
Hint: Count ends: one per for loop [OK]
Common Mistakes:
  • Forgetting to close outer loop
  • Assuming one end closes both loops
  • Misreading error messages
5. You want to create a 3x3 multiplication table using nested loops in MATLAB. Which code correctly fills matrix M with products of row and column indices?
hard
A. M = zeros(3); for i = 1:3 for j = 1:3 M(j,i) = i+j; end end
B. M = zeros(3); for i = 1:3 for j = 1:3 M(i,j) = i*j; end end
C. M = zeros(3); for i = 1:3 for j = 1:3 M(i,j) = i+j; end end
D. M = zeros(3); for i = 1:3 for j = 1:3 M(i,j) = i-j; end end

Solution

  1. Step 1: Understand the multiplication table goal

    The table should store products of row and column indices, so M(i,j) = i*j.
  2. Step 2: Check each option's assignment

    M = zeros(3); for i = 1:3 for j = 1:3 M(i,j) = i*j; end end correctly assigns M(i,j) = i*j. The other options assign sums or differences, not products.
  3. Final Answer:

    M = zeros(3); for i = 1:3 for j = 1:3 M(i,j) = i*j; end end -> Option B
  4. Quick Check:

    Multiplication table uses product of indices [OK]
Hint: Assign M(i,j) = i*j for multiplication table [OK]
Common Mistakes:
  • Using addition or subtraction instead of multiplication
  • Swapping indices in assignment
  • Not initializing matrix before loops
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