Bird
Raised Fist0
MATLABdata~20 mins

Reshaping arrays in MATLAB - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Array Reshaper Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
Output of reshaping a matrix
What is the output of the following MATLAB code?
MATLAB
A = [1 2 3 4 5 6];
B = reshape(A, 2, 3);
disp(B);
A[1 3 5; 2 4 6]
B[1 2; 3 4; 5 6]
C[1 4; 2 5; 3 6]
D[1 2 3; 4 5 6]
Attempts:
2 left
💡 Hint
Remember MATLAB fills matrices column-wise when reshaping.
❓ Predict Output
intermediate
2:00remaining
Reshape with incompatible size
What error does this MATLAB code produce?
MATLAB
A = 1:10;
B = reshape(A, 3, 4);
AError: Dimensions do not agree.
BError: Number of elements must not change.
CError: reshape cannot reshape array of length 10 into 3-by-4 matrix.
DNo error, outputs a 3x4 matrix with zeros padded.
Attempts:
2 left
💡 Hint
Check if the total number of elements matches the new shape.
🧠 Conceptual
advanced
2:00remaining
Understanding reshape order
Given a 2x3 matrix M = [1 2 3; 4 5 6], what is the result of reshape(M, 3, 2)?
A[1 5; 2 6; 3 4]
B[1 2 3; 4 5 6]
C[1 3 5; 2 4 6]
D[1 5; 4 3; 2 6]
Attempts:
2 left
💡 Hint
reshape reads elements column-wise from the original matrix.
🔧 Debug
advanced
2:00remaining
Fix the reshape dimension mismatch
Why does this code produce an error and how to fix it? A = 1:12; B = reshape(A, 4, 5);
MATLAB
A = 1:12;
B = reshape(A, 4, 5);
AError because 12 elements cannot fill a 4x5 matrix; fix by changing to reshape(A, 3, 4).
BError because reshape requires square matrices; fix by using reshape(A, 4, 4).
CNo error; outputs a 4x5 matrix with last 8 elements zero-padded.
DError because A is a row vector; fix by transposing A before reshape.
Attempts:
2 left
💡 Hint
Check if the product of dimensions matches the number of elements.
🚀 Application
expert
2:00remaining
Reshape and transpose combined
What is the output of this MATLAB code?
MATLAB
A = [1 2 3 4 5 6];
B = reshape(A, 2, 3)';
disp(B);
A[1 3 5; 2 4 6]
B[1 2; 3 4; 5 6]
C[1 4; 2 5; 3 6]
D[1 2 3; 4 5 6]
Attempts:
2 left
💡 Hint
First reshape fills column-wise, then transpose swaps rows and columns.

Practice

(1/5)
1. What does the MATLAB function reshape do to an array?
easy
A. Sorts the array elements in ascending order
B. Changes the data values but keeps the shape the same
C. Deletes elements from the array
D. Changes the shape of the array without changing its data

Solution

  1. Step 1: Understand the purpose of reshape

    The reshape function changes how the array is organized in terms of rows and columns but does not modify the actual data values.
  2. Step 2: Confirm data remains unchanged

    The total number of elements stays the same, so no data is lost or changed, only rearranged.
  3. Final Answer:

    Changes the shape of the array without changing its data -> Option D
  4. Quick Check:

    reshape changes shape, not data [OK]
Hint: Remember reshape only rearranges elements, data stays same [OK]
Common Mistakes:
  • Thinking reshape changes data values
  • Assuming reshape deletes elements
  • Confusing reshape with sorting
2. Which of the following is the correct syntax to reshape a 1x6 vector A into a 2x3 matrix in MATLAB?
easy
A. reshape(A, 2, 3)
B. reshape(2, 3, A)
C. reshape(A, [3 2])
D. reshape(A, 3, 2)

Solution

  1. Step 1: Recall reshape syntax

    The correct syntax is reshape(array, rows, columns). So the array comes first, then the new dimensions.
  2. Step 2: Check dimensions for 2x3

    To reshape into 2 rows and 3 columns, use reshape(A, 2, 3). Options with swapped dimensions or wrong order are incorrect.
  3. Final Answer:

    reshape(A, 2, 3) -> Option A
  4. Quick Check:

    reshape(array, rows, cols) [OK]
Hint: Syntax is reshape(array, rows, columns) [OK]
Common Mistakes:
  • Putting dimensions before the array
  • Swapping rows and columns
  • Using brackets incorrectly
3. What is the output of the following MATLAB code?
A = 1:6;
B = reshape(A, 3, 2);
disp(B);
medium
A. [1 4; 2 5; 3 6]
B. [1 2; 3 4; 5 6]
C. [1 3 5; 2 4 6]
D. [1 2 3; 4 5 6]

Solution

  1. Step 1: Understand reshape fills column-wise

    MATLAB fills the reshaped matrix column by column from the original vector. The vector A = [1 2 3 4 5 6].
  2. Step 2: Fill 3 rows and 2 columns

    Fill first column: 1, 2, 3; second column: 4, 5, 6. So matrix B is:
    [1 4;
    2 5;
    3 6]
  3. Final Answer:

    [1 4; 2 5; 3 6] -> Option A
  4. Quick Check:

    reshape fills column-wise [OK]
Hint: Remember MATLAB fills columns first in reshape [OK]
Common Mistakes:
  • Assuming row-wise filling
  • Mixing up rows and columns
  • Confusing output format
4. Identify the error in this MATLAB code:
A = 1:8;
B = reshape(A, 3, 3);
medium
A. Variable A is not defined correctly
B. reshape dimensions do not match number of elements
C. Syntax error in reshape function
D. No error, code runs fine

Solution

  1. Step 1: Count elements in A

    Vector A has 8 elements (1 to 8).
  2. Step 2: Check reshape target size

    reshape tries to make a 3x3 matrix which needs 9 elements, but A has only 8.
  3. Final Answer:

    reshape dimensions do not match number of elements -> Option B
  4. Quick Check:

    Elements must match reshape size [OK]
Hint: Check total elements before reshaping [OK]
Common Mistakes:
  • Ignoring element count mismatch
  • Assuming reshape pads missing elements
  • Thinking reshape auto adjusts size
5. Given a 3D array A of size 2x3x4, which MATLAB command correctly reshapes it into a 6x4 matrix without changing the order of elements?
hard
A. reshape(A, [2 3 4])
B. reshape(A, 4, 6)
C. reshape(A, [6 4])
D. reshape(A, [4 6])

Solution

  1. Step 1: Calculate total elements

    Original size is 2x3x4 = 24 elements total.
  2. Step 2: Confirm reshape size matches total elements

    6x4 = 24 elements, so reshape to [6 4] is valid.
  3. Step 3: Use correct syntax for reshape with vector size

    reshape accepts size as a vector, so reshape(A, [6 4]) is correct and clearer for multi-dimensional arrays.
  4. Final Answer:

    reshape(A, [6 4]) -> Option C
  5. Quick Check:

    Use vector size for multi-dim reshape [OK]
Hint: Use reshape(A, [rows cols]) for multi-dim arrays [OK]
Common Mistakes:
  • Swapping rows and columns
  • Using wrong syntax without brackets
  • Ignoring total element count
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