Bird
Raised Fist0
MATLABdata~10 mins

mesh and surf for surfaces 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 grid of points using meshgrid.

MATLAB
x = -2:0.5:2;
y = -2:0.5:2;
[X, Y] = [1](x, y);
Drag options to blanks, or click blank then click option'
Ameshgrid
Bplot
Clinspace
Dsurf
Attempts:
3 left
💡 Hint
Common Mistakes
Using linspace instead of meshgrid.
Trying to use plot to create coordinate matrices.
2fill in blank
medium

Complete the code to calculate Z as the sum of squares of X and Y.

MATLAB
Z = [1].^2 + Y.^2;
Drag options to blanks, or click blank then click option'
AY
BX
CZ
Dx
Attempts:
3 left
💡 Hint
Common Mistakes
Using lowercase x instead of matrix X.
Forgetting the dot before the power operator.
3fill in blank
hard

Fix the error in the code to plot the surface using surf.

MATLAB
surf(X, Y, [1]);
Drag options to blanks, or click blank then click option'
AZ
Bplot
CY
Dx
Attempts:
3 left
💡 Hint
Common Mistakes
Passing x or y instead of Z to surf.
Trying to use plot instead of surf.
4fill in blank
hard

Fill both blanks to create a mesh plot and label the axes.

MATLAB
mesh(X, Y, Z);
xlabel('[1]');
ylabel('[2]');
Drag options to blanks, or click blank then click option'
AX-axis
BY-axis
CZ-axis
DSurface
Attempts:
3 left
💡 Hint
Common Mistakes
Labeling axes incorrectly or swapping labels.
Using 'Z-axis' label for x or y axis.
5fill in blank
hard

Fill all three blanks to create a surface plot with title and color bar.

MATLAB
surf(X, Y, Z);
title('[1]');
colorbar;
shading [2];
view([3]);
Drag options to blanks, or click blank then click option'
A3D Surface Plot
Binterp
C[45 30]
Dflat
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'flat' shading which is less smooth.
Not setting a proper view angle for 3D visualization.

Practice

(1/5)
1. What is the main difference between mesh and surf functions in MATLAB when plotting 3D surfaces?
easy
A. mesh creates a wireframe surface, while surf creates a colored surface.
B. mesh plots 2D graphs, while surf plots 3D graphs.
C. mesh only works with matrices, surf only works with vectors.
D. mesh colors the surface, surf shows only edges.

Solution

  1. Step 1: Understand the function outputs

    mesh draws a grid-like wireframe of the surface without filling colors.
  2. Step 2: Compare with surf

    surf draws a colored surface that fills the area between grid lines, showing height with color.
  3. Final Answer:

    mesh creates a wireframe surface, while surf creates a colored surface. -> Option A
  4. Quick Check:

    Wireframe vs colored surface = A [OK]
Hint: Remember: mesh = wireframe, surf = colored surface [OK]
Common Mistakes:
  • Thinking mesh colors the surface
  • Confusing 2D and 3D plotting
  • Assuming mesh only works with vectors
2. Which of the following is the correct syntax to create a mesh plot of matrices X, Y, and Z in MATLAB?
easy
A. mesh(X, Y);
B. mesh(X, Y, Z);
C. mesh(X, Z, Y);
D. meshplot(X, Y, Z);

Solution

  1. Step 1: Recall mesh function syntax

    The correct syntax for mesh requires three inputs: X, Y, and Z matrices representing coordinates.
  2. Step 2: Check options

    Only mesh(X, Y, Z); matches the correct order and function name. mesh(X, Y); misses Z, B uses invalid function meshplot, C swaps Y and Z incorrectly.
  3. Final Answer:

    mesh(X, Y, Z); -> Option B
  4. Quick Check:

    Correct function and argument order = D [OK]
Hint: Syntax: mesh(X, Y, Z) with all three matrices [OK]
Common Mistakes:
  • Using wrong function name like meshplot
  • Swapping Y and Z arguments
  • Omitting one of the required inputs
3. What will be the result of the following MATLAB code?
X = 1:3; Y = 1:3; [X, Y] = meshgrid(X, Y); Z = X.^2 + Y.^2; mesh(X, Y, Z);
medium
A. A colored surface plot with smooth shading.
B. A flat 2D grid with no height variation.
C. An error because meshgrid is used incorrectly.
D. A 3D wireframe surface showing a paraboloid shape.

Solution

  1. Step 1: Understand meshgrid and Z calculation

    meshgrid creates matrices X and Y for grid points. Z is calculated as sum of squares, forming a paraboloid shape.
  2. Step 2: Understand mesh plotting

    mesh plots a wireframe 3D surface of Z over X and Y, showing the paraboloid shape as a grid.
  3. Final Answer:

    A 3D wireframe surface showing a paraboloid shape. -> Option D
  4. Quick Check:

    meshgrid + paraboloid + mesh = wireframe paraboloid [OK]
Hint: meshgrid creates grids; mesh plots wireframe surface [OK]
Common Mistakes:
  • Thinking mesh creates colored surface
  • Assuming meshgrid returns vectors, not matrices
  • Expecting 2D plot instead of 3D
4. Identify the error in this MATLAB code snippet:
X = 0:0.5:2; Y = 0:0.5:2; Z = X.^2 + Y.^2; surf(X, Y, Z);
medium
A. Z must be a matrix matching sizes of X and Y, not vectors.
B. surf requires only two inputs, not three.
C. X and Y must be row vectors, not column vectors.
D. The operator .^ is invalid for vectors.

Solution

  1. Step 1: Check dimensions of X, Y, and Z

    X and Y are vectors, but Z is calculated element-wise and is also a vector, not a matrix matching grid points.
  2. Step 2: Understand surf input requirements

    surf expects X, Y, Z matrices of the same size, usually created by meshgrid. Here, Z is not a matrix matching X and Y.
  3. Final Answer:

    Z must be a matrix matching sizes of X and Y, not vectors. -> Option A
  4. Quick Check:

    surf needs matching matrix sizes = C [OK]
Hint: Use meshgrid to create X, Y matrices before surf [OK]
Common Mistakes:
  • Passing vectors instead of matrices to surf
  • Misunderstanding element-wise operations
  • Thinking surf accepts vector inputs directly
5. You want to plot the surface of the function z = sin(x) * cos(y) over the range x = -pi to pi and y = -pi to pi. Which MATLAB code correctly creates a colored surface plot using surf?
hard
A. x = -pi:pi; y = -pi:pi; Z = sin(x) * cos(y); surf(x, y, Z);
B. x = linspace(-pi, pi, 50); y = linspace(-pi, pi, 50); Z = sin(x) .* cos(y); surf(x, y, Z);
C. x = linspace(-pi, pi, 50); y = linspace(-pi, pi, 50); [X, Y] = meshgrid(x, y); Z = sin(X) .* cos(Y); surf(X, Y, Z);
D. X = -pi:pi; Y = -pi:pi; Z = sin(X) + cos(Y); mesh(X, Y, Z);

Solution

  1. Step 1: Create grid points for x and y

    Use linspace to create vectors from -pi to pi with enough points, then use meshgrid to create matrices X and Y.
  2. Step 2: Calculate Z values element-wise

    Calculate Z as sin(X) .* cos(Y) using element-wise multiplication to get matrix Z matching X and Y.
  3. Step 3: Plot with surf

    Use surf(X, Y, Z) to plot the colored surface correctly.
  4. Final Answer:

    x = linspace(-pi, pi, 50); y = linspace(-pi, pi, 50); [X, Y] = meshgrid(x, y); Z = sin(X) .* cos(Y); surf(X, Y, Z); -> Option C
  5. Quick Check:

    meshgrid + element-wise .* + surf = B [OK]
Hint: Use meshgrid and element-wise .* for surface plots [OK]
Common Mistakes:
  • Using * instead of .* for element-wise multiplication
  • Not using meshgrid to create X and Y matrices
  • Using vectors directly in surf without matching sizes
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