Bird
Raised Fist0
MATLABdata~10 mins

Numerical integration (integral, trapz) 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 calculate the integral of sin(x) from 0 to pi using the integral function.

MATLAB
result = integral(@(x) sin(x), 0, [1]);
Drag options to blanks, or click blank then click option'
Api
B2*pi
C0
Dpi/2
Attempts:
3 left
💡 Hint
Common Mistakes
Using 2*pi as the upper limit instead of pi.
Setting the upper limit to 0 which results in zero area.
2fill in blank
medium

Complete the code to approximate the integral of cos(x) from 0 to pi using the trapz function with 100 points.

MATLAB
x = linspace(0, pi, 100);
y = cos(x);
result = trapz(x, [1]);
Drag options to blanks, or click blank then click option'
Acos(x).^2
Bx
Cy
Dsin(x)
Attempts:
3 left
💡 Hint
Common Mistakes
Passing x instead of y to trapz.
Passing an unrelated function like sin(x).
3fill in blank
hard

Fix the error in the code to correctly compute the integral of exp(-x^2) from -1 to 1 using integral.

MATLAB
result = integral(@(x) exp(-[1].^2), -1, 1);
Drag options to blanks, or click blank then click option'
AX
Bt
Cy
Dx
Attempts:
3 left
💡 Hint
Common Mistakes
Using uppercase X instead of lowercase x.
Using a different variable name like t or y.
4fill in blank
hard

Fill both blanks to create a vector of squares for x from 1 to 5, including only values greater than 4, using logical indexing. This can be useful for selecting weights or points in numerical integration.

MATLAB
x = 1:5;
values = x(x [2] 4).[1]2;
Drag options to blanks, or click blank then click option'
A.^
B>
C<
D*
Attempts:
3 left
💡 Hint
Common Mistakes
Using * instead of .^ for element-wise power.
Using < instead of > in the condition.
5fill in blank
hard

Fill all three blanks to create a structure with fields as uppercase letters of x, values as y, and filter y values greater than 0.5. This can store selected significant function values for numerical integration points.

MATLAB
result = struct();
for i = 1:length(x)
    if y(i) [1] 0.5
        field = upper([2](i));
        result.(field) = [3](i);
    end
end
Drag options to blanks, or click blank then click option'
A>
Bx
Cy
D<
Attempts:
3 left
💡 Hint
Common Mistakes
Using < instead of > in the condition.
Using y instead of x for the field name.
Assigning x(i) instead of y(i) as the value.

Practice

(1/5)
1. What does the MATLAB function integral primarily do?
easy
A. Finds the derivative of a function
B. Calculates the numerical integral of a function over a specified interval
C. Plots data points on a graph
D. Solves algebraic equations symbolically

Solution

  1. Step 1: Understand the purpose of integral

    The integral function in MATLAB is used to calculate the area under a curve defined by a function between two limits.
  2. Step 2: Compare with other options

    Options A, B, and C describe different MATLAB functions or operations unrelated to numerical integration.
  3. Final Answer:

    Calculates the numerical integral of a function over a specified interval -> Option B
  4. Quick Check:

    integral = numerical integration [OK]
Hint: Remember integral finds area under curve from function [OK]
Common Mistakes:
  • Confusing integral with symbolic math functions
  • Thinking integral plots graphs
  • Mixing integral with derivative functions
2. Which of the following is the correct syntax to compute the integral of sin(x) from 0 to pi using integral in MATLAB?
easy
A. integral(@sin, 0, pi)
B. integral(sin(x), 0, pi)
C. integral('sin(x)', 0, pi)
D. integral(sin, [0 pi])

Solution

  1. Step 1: Identify correct function handle syntax

    In MATLAB, integral requires a function handle, written as @functionName. So @sin is correct.
  2. Step 2: Check argument format

    The limits are given as separate arguments, so 0, pi is correct. Other options misuse syntax by passing strings or symbolic expressions.
  3. Final Answer:

    integral(@sin, 0, pi) -> Option A
  4. Quick Check:

    Use @ for function handle in integral [OK]
Hint: Use @ before function name for integral [OK]
Common Mistakes:
  • Passing function as string instead of handle
  • Using symbolic expressions instead of function handle
  • Putting limits inside brackets as one argument
3. What is the output of the following MATLAB code?
x = 0:0.5:2;
y = x.^2;
area = trapz(x, y);
disp(area);
medium
A. 2.5
B. 4.0
C. 3.0
D. 2.75

Solution

  1. Step 1: Calculate y values

    Given x = [0 0.5 1 1.5 2], y = x.^2 = [0 0.25 1 2.25 4].
  2. Step 2: Apply trapezoidal rule with trapz

    trapz approximates integral as sum of trapezoids:
    Area ≈ 0.5*((0+0.25)/2 + (0.25+1)/2 + (1+2.25)/2 + (2.25+4)/2)
    = 0.5*(0.125 + 0.625 + 1.625 + 3.125) = 0.5*5.5 = 2.75
  3. Final Answer:

    2.75 -> Option D
  4. Quick Check:

    trapz(x,y) ≈ 2.75 [OK]
Hint: Calculate y, then sum trapezoids with trapz [OK]
Common Mistakes:
  • Forgetting to square x for y
  • Using incorrect step size in calculation
  • Mixing up trapz and integral outputs
4. Identify the error in this MATLAB code snippet:
x = linspace(0,1,5);
y = x.^3;
result = trapz(y, x);
medium
A. Using .^3 is incorrect for element-wise power
B. linspace should have 6 points instead of 5
C. Arguments to trapz are reversed; should be trapz(x, y)
D. trapz cannot be used with vectors

Solution

  1. Step 1: Check trapz argument order

    trapz expects x values first, then y values. Here, arguments are reversed.
  2. Step 2: Validate other parts

    linspace with 5 points is valid; .^3 is correct for element-wise cube; trapz works with vectors.
  3. Final Answer:

    Arguments to trapz are reversed; should be trapz(x, y) -> Option C
  4. Quick Check:

    trapz(x,y) correct argument order [OK]
Hint: Remember trapz(x, y), x first then y [OK]
Common Mistakes:
  • Swapping x and y in trapz
  • Thinking linspace points count causes error
  • Misunderstanding element-wise power operator
5. You have noisy data points x = 0:0.1:1 and y = sin(2*pi*x) + 0.1*randn(size(x)). Which method is best to estimate the integral of the underlying sine wave over [0,1]?
hard
A. Use trapz(x, y) to approximate integral from noisy data
B. Use trapz(y, x) ignoring x order
C. Use integral(@(t) sin(2*pi*t), 0, 1) for exact integral
D. Use symbolic integration on noisy data

Solution

  1. Step 1: Understand data and goal

    The data y includes noise, so exact function integral is not possible from data alone.
  2. Step 2: Choose appropriate method

    Using trapz(x, y) approximates the integral from discrete noisy data points effectively.
  3. Step 3: Evaluate other options

    Use integral(@(t) sin(2*pi*t), 0, 1) for exact integral uses exact function without noise, not data-based; Use trapz(y, x) ignoring x order reverses arguments; Use symbolic integration on noisy data is invalid for numeric noisy data.
  4. Final Answer:

    Use trapz(x, y) to approximate integral from noisy data -> Option A
  5. Quick Check:

    trapz(x,y) best for noisy data integration [OK]
Hint: Use trapz with noisy data, integral needs exact function [OK]
Common Mistakes:
  • Using integral on noisy data without function
  • Swapping arguments in trapz
  • Trying symbolic integration on numeric noise
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