📖 Scenario: You are working with a small dataset of daily temperatures recorded in a week. The data is currently in a single row, but you want to organize it into a matrix that shows temperatures for each day in a more readable way.
🎯 Goal: You will reshape a 1D array of temperatures into a 2D matrix with 2 rows and 4 columns to better visualize the data.
📋 What You'll Learn
Create a 1D array called temps with the exact values: 22, 24, 19, 23, 25, 21, 20, 22
Create a variable called rows and set it to 2
Use the reshape function to reshape temps into a matrix called tempMatrix with rows rows and 4 columns
Display the tempMatrix using disp
💡 Why This Matters
🌍 Real World
Reshaping arrays is useful when you want to organize data differently for analysis or visualization, like turning a list of daily measurements into a table format.
💼 Career
Many jobs in data analysis, engineering, and science require reshaping data arrays to prepare data for calculations, graphs, or reports.
Progress0 / 4 steps
1
Create the temperature array
Create a 1D array called temps with these exact values: [22, 24, 19, 23, 25, 21, 20, 22]
MATLAB
Hint
Use square brackets [] to create the array and separate values with commas.
2
Set the number of rows
Create a variable called rows and set it to 2
MATLAB
Hint
Just assign the number 2 to the variable rows.
3
Reshape the array into a matrix
Use the reshape function to reshape temps into a matrix called tempMatrix with rows rows and 4 columns
MATLAB
Hint
The reshape function takes the array, number of rows, and number of columns as arguments.
4
Display the reshaped matrix
Use disp to display the variable tempMatrix
MATLAB
Hint
Use disp(tempMatrix) to show the matrix in the command window.
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
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.
Step 2: Confirm data remains unchanged
The total number of elements stays the same, so no data is lost or changed, only rearranged.
Final Answer:
Changes the shape of the array without changing its data -> Option D
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
Step 1: Recall reshape syntax
The correct syntax is reshape(array, rows, columns). So the array comes first, then the new dimensions.
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.
Final Answer:
reshape(A, 2, 3) -> Option A
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
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].
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]
Final Answer:
[1 4; 2 5; 3 6] -> Option A
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
Step 1: Count elements in A
Vector A has 8 elements (1 to 8).
Step 2: Check reshape target size
reshape tries to make a 3x3 matrix which needs 9 elements, but A has only 8.
Final Answer:
reshape dimensions do not match number of elements -> Option B
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
Step 1: Calculate total elements
Original size is 2x3x4 = 24 elements total.
Step 2: Confirm reshape size matches total elements
6x4 = 24 elements, so reshape to [6 4] is valid.
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.
Final Answer:
reshape(A, [6 4]) -> Option C
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 unknownstrongwhile earning +1 Grip toward your certificate.