Bird
Raised Fist0
MATLABdata~10 mins

Subplot for multiple panels 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 2x2 grid of subplots.

MATLAB
subplot([1], 2, 1); plot(1:10);
Drag options to blanks, or click blank then click option'
A4
B2
C3
D1
Attempts:
3 left
💡 Hint
Common Mistakes
Using the number of rows or columns alone instead of their product.
Confusing the order of arguments in subplot.
2fill in blank
medium

Complete the code to create the third subplot in a 2x2 grid.

MATLAB
subplot(2, 2, [1]); plot(rand(5));
Drag options to blanks, or click blank then click option'
A3
B2
C1
D4
Attempts:
3 left
💡 Hint
Common Mistakes
Using 4 instead of 3 for the third subplot.
Confusing subplot numbering order.
3fill in blank
hard

Fix the error in the code to create a 3x1 subplot and plot data in the second panel.

MATLAB
subplot(3, [1], 2); plot(sin(1:10));
Drag options to blanks, or click blank then click option'
A1
B2
C4
D3
Attempts:
3 left
💡 Hint
Common Mistakes
Using 3 instead of 1 for the number of columns.
Mixing up rows and columns order.
4fill in blank
hard

Fill both blanks to create a 2x3 grid and plot in the last panel.

MATLAB
subplot([1], [2], 6); plot(rand(10));
Drag options to blanks, or click blank then click option'
A2
B3
C4
D6
Attempts:
3 left
💡 Hint
Common Mistakes
Swapping rows and columns.
Using 6 as the number of rows or columns.
5fill in blank
hard

Fill all three blanks to create a 3x2 grid and plot in the middle panel.

MATLAB
subplot([1], [2], [3]); plot(cos(1:10));
Drag options to blanks, or click blank then click option'
A3
B2
C4
Attempts:
3 left
💡 Hint
Common Mistakes
Confusing the order of rows and columns.
Using wrong panel number for the middle panel.

Practice

(1/5)
1. What does the MATLAB function subplot(2, 3, 4) do?
easy
A. Plots data in the 2nd row and 3rd column of a figure.
B. Creates a 2x3 matrix and fills it with the number 4.
C. Clears the 4th subplot in a 2 by 3 grid.
D. Divides the figure into 2 rows and 3 columns, then selects the 4th panel for plotting.

Solution

  1. Step 1: Understand subplot grid parameters

    The first two numbers (2, 3) define the grid size: 2 rows and 3 columns.
  2. Step 2: Identify the panel number

    The third number (4) selects the 4th panel in row-wise order for plotting.
  3. Final Answer:

    Divides the figure into 2 rows and 3 columns, then selects the 4th panel for plotting. -> Option D
  4. Quick Check:

    subplot(m, n, p) = grid m x n, panel p [OK]
Hint: Remember subplot(m,n,p) means m rows, n columns, p panel [OK]
Common Mistakes:
  • Confusing the order of rows and columns
  • Thinking subplot creates a matrix of numbers
  • Assuming subplot clears panels automatically
2. Which of the following is the correct syntax to create a 3x1 subplot and plot in the second panel?
easy
A. subplot(3, 1, 2); plot(x, y);
B. subplot(1, 3, 2); plot(x, y);
C. subplot(3, 2, 1); plot(x, y);
D. subplot(2, 3, 2); plot(x, y);

Solution

  1. Step 1: Identify the grid layout

    A 3x1 subplot means 3 rows and 1 column, so subplot(3, 1, p) is correct.
  2. Step 2: Select the second panel

    The third argument '2' selects the second panel in the vertical stack.
  3. Final Answer:

    subplot(3, 1, 2); plot(x, y); -> Option A
  4. Quick Check:

    3 rows, 1 column, panel 2 = subplot(3,1,2) [OK]
Hint: Rows first, then columns, then panel number [OK]
Common Mistakes:
  • Swapping rows and columns in subplot arguments
  • Using wrong panel number for desired position
  • Confusing subplot grid with plot commands
3. What will be the output of the following MATLAB code?
subplot(1,2,1); plot(1:3, [2 4 6]);
subplot(1,2,2); plot(1:3, [1 3 5]);
medium
A. Two plots side by side: first with points (1,2),(2,4),(3,6), second with (1,1),(2,3),(3,5).
B. One plot with both data sets overlaid.
C. Error because subplot indices are incorrect.
D. Two plots stacked vertically.

Solution

  1. Step 1: Understand subplot grid

    subplot(1,2,1) creates a grid with 1 row and 2 columns, selecting the first panel.
  2. Step 2: Plot data in each panel

    The first plot shows points (1,2), (2,4), (3,6). The second subplot(1,2,2) plots points (1,1), (2,3), (3,5).
  3. Final Answer:

    Two plots side by side: first with points (1,2),(2,4),(3,6), second with (1,1),(2,3),(3,5). -> Option A
  4. Quick Check:

    subplot(1,2,p) = two side-by-side plots [OK]
Hint: subplot(1,2,p) means two plots side by side [OK]
Common Mistakes:
  • Thinking plots overlay in one panel
  • Assuming vertical stacking instead of horizontal
  • Misreading subplot indices
4. Identify the error in this MATLAB code snippet:
subplot(2,2,5);
plot(rand(5));
medium
A. plot function cannot be used inside subplot.
B. Panel index 5 is invalid for a 2x2 grid.
C. Missing semicolon after subplot command.
D. rand(5) is incorrect syntax.

Solution

  1. Step 1: Check subplot grid size

    A 2x2 grid has only 4 panels numbered 1 to 4.
  2. Step 2: Validate panel index

    Using 5 as the panel index is invalid and causes an error.
  3. Final Answer:

    Panel index 5 is invalid for a 2x2 grid. -> Option B
  4. Quick Check:

    Panel number must be ≤ rows*columns [OK]
Hint: Panel number must not exceed total grid cells [OK]
Common Mistakes:
  • Using panel number larger than grid size
  • Thinking semicolon affects subplot indexing
  • Believing plot can't be inside subplot
5. You want to create a 2x2 grid of plots showing sine waves with different frequencies. Which code correctly sets up the subplots and plots the waves?
hard
A. subplot(2,2); for k = 1:4 plot(sin(k*x)); end
B. for k = 1:4 subplot(4,1,k); x = linspace(0,2*pi,100); plot(x, sin(k*x)); end
C. for k = 1:4 subplot(2,2,k); x = linspace(0,2*pi,100); plot(x, sin(k*x)); end
D. for k = 1:4 subplot(2,2,k+1); x = linspace(0,2*pi,100); plot(x, sin(k*x)); end

Solution

  1. Step 1: Set up correct subplot grid

    subplot(2,2,k) correctly creates a 2x2 grid and selects each panel from 1 to 4.
  2. Step 2: Plot sine waves with increasing frequency

    Inside the loop, x is defined and sin(k*x) is plotted in each subplot panel.
  3. Step 3: Check other options for errors

    for k = 1:4 subplot(4,1,k); x = linspace(0,2*pi,100); plot(x, sin(k*x)); end uses 4x1 grid, not 2x2. subplot(2,2); for k = 1:4 plot(sin(k*x)); end calls subplot once without panel index. for k = 1:4 subplot(2,2,k+1); x = linspace(0,2*pi,100); plot(x, sin(k*x)); end uses k+1 which causes invalid panel 5.
  4. Final Answer:

    for k = 1:4 subplot(2,2,k); x = linspace(0,2*pi,100); plot(x, sin(k*x)); end -> Option C
  5. Quick Check:

    Loop with subplot(2,2,k) plots 4 panels correctly [OK]
Hint: Use subplot(2,2,k) inside loop k=1 to 4 [OK]
Common Mistakes:
  • Using wrong subplot grid size
  • Not specifying panel index in subplot
  • Using invalid panel numbers
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