Bird
Raised Fist0
MATLABdata~10 mins

Numerical integration (integral, trapz) in MATLAB - Step-by-Step Execution

Choose your learning style10 modes available
Concept Flow - Numerical integration (integral, trapz)
Define function f(x)
↓
Choose integration limits a and b
↓
Select method: integral or trapz
↓
If integral
↓
Call integral
↓
Compute result
↓
Return integral
↓
Output result
This flow shows how MATLAB computes an integral numerically using either the integral function or the trapz function by defining the function, limits, and method, then calculating and returning the result.
Execution Sample
MATLAB
f = @(x) x.^2;
a = 0; b = 2;
I1 = integral(f,a,b);
x = linspace(a,b,5);
y = f(x);
I2 = trapz(x,y);
Calculate the integral of x^2 from 0 to 2 using integral and trapz methods.
Execution Table
StepActionVariable/ExpressionResult/Value
1Define functionf = @(x) x.^2Function handle created
2Set limitsa = 0, b = 2Limits set
3Call integralintegral(f,a,b)I1 = 2.6667 (approx)
4Create sample pointsx = linspace(0,2,5)x = [0 0.5 1 1.5 2]
5Evaluate function at xy = f(x)y = [0 0.25 1 2.25 4]
6Apply trapztrapz(x,y)I2 = 2.75
7Output resultsI1 and I2I1 = 2.6667, I2 = 2.75
💡 Integration complete with both methods producing approximate integral values.
Variable Tracker
VariableStartAfter Step 3After Step 5After Step 6Final
fundefinedfunction handle @(x) x.^2samesamesame
aundefined0samesamesame
bundefined2samesamesame
I1undefined2.6667samesame2.6667
xundefinedundefined[0 0.5 1 1.5 2]same[0 0.5 1 1.5 2]
yundefinedundefined[0 0.25 1 2.25 4]same[0 0.25 1 2.25 4]
I2undefinedundefinedundefined2.752.75
Key Moments - 3 Insights
Why are the results from integral and trapz slightly different?
Integral uses adaptive quadrature for higher accuracy (see step 3), while trapz uses simple trapezoidal sums on fixed points (steps 5-6), so trapz is an approximation depending on sample points.
Why do we need to create x and y vectors for trapz?
Trapz integrates discrete data points, so we must sample the function at points x and compute y = f(x) (steps 4-5) before applying trapz (step 6).
What does the linspace function do here?
Linspace creates evenly spaced points between a and b (step 4), which are used as sample points for trapz integration.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution table, what is the value of I1 after step 3?
A0.25
B2.625
C2.6667
DUndefined
💡 Hint
Check the 'Result/Value' column at step 3 in the execution_table.
At which step do we evaluate the function at sample points for trapz?
AStep 5
BStep 4
CStep 2
DStep 6
💡 Hint
Look for when y = f(x) is computed in the execution_table.
If we increase the number of points in linspace, how would I2 change?
AI2 would become less accurate
BI2 would become more accurate
CI2 would stay the same
DI2 would become zero
💡 Hint
Refer to variable_tracker for x and y sampling and how trapz depends on sample density.
Concept Snapshot
Numerical integration in MATLAB:
- Use integral(f,a,b) for adaptive accurate integration.
- Use trapz(x,y) for trapezoidal integration on sampled points.
- Sample points x = linspace(a,b,n), y = f(x) for trapz.
- integral is more precise; trapz depends on sample density.
- Both return approximate area under curve f(x) from a to b.
Full Transcript
This visual trace shows how MATLAB performs numerical integration using two methods: integral and trapz. First, a function f(x) = x squared is defined. The integration limits are set from 0 to 2. The integral function is called to compute the integral with adaptive quadrature, resulting in approximately 2.6667. For trapz, sample points x are created evenly spaced between 0 and 2, and the function is evaluated at these points to get y values. The trapz function then computes the trapezoidal sum of these points, giving approximately 2.75. The difference arises because integral uses a more precise method, while trapz approximates based on sample points. Increasing sample points in trapz improves accuracy. This step-by-step execution helps beginners see how variables change and how each method works.

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