📖 Scenario: Imagine you want to find the area under a curve that shows how fast a car is moving over time. This area tells you how far the car traveled. We will use numerical integration to find this area.
🎯 Goal: You will create a simple list of speed values, set up a time step, use numerical integration to calculate the total distance traveled, and then print the result.
📋 What You'll Learn
Create a list called speeds with the values: 0, 10, 20, 30, 40, 50
Create a variable called time_step and set it to 1
Use scipy.integrate.simps to calculate the area under the speed curve and store it in distance
Print the value of distance
💡 Why This Matters
🌍 Real World
Numerical integration helps us find distances, areas, and totals when we only have data points, like measuring how far a car traveled from speed readings.
💼 Career
Data scientists use numerical integration to analyze real-world data where exact formulas are unknown, such as in physics, engineering, and finance.
Progress0 / 4 steps
1
Create the speed data
Create a list called speeds with these exact values: 0, 10, 20, 30, 40, 50.
SciPy
Hint
Use square brackets to create a list and separate numbers with commas.
2
Set the time step
Create a variable called time_step and set it to 1 to represent the time between speed measurements.
SciPy
Hint
This is just a number that tells us how far apart the speed readings are in time.
3
Calculate the distance using numerical integration
Import simps from scipy.integrate. Use simps with speeds and dx=time_step to calculate the area under the speed curve. Store the result in a variable called distance.
SciPy
Hint
Use from scipy.integrate import simps to import the function. Then call simps(speeds, dx=time_step).
4
Print the total distance
Write a print statement to display the value of distance.
SciPy
Hint
Use print(distance) to show the result.
Practice
(1/5)
1. Why does numerical integration compute the area under a curve?
easy
A. Because it sums up many small slices of the curve's height times width
B. Because it counts the number of points on the curve
C. Because it finds the highest point on the curve
D. Because it measures the length of the curve line
Solution
Step 1: Understand what area under a curve means
The area under a curve is the total space between the curve and the x-axis over an interval.
Step 2: How numerical integration works
Numerical integration adds up many small rectangles (slices) under the curve, each with height (function value) and width (small step).
Final Answer:
Because it sums up many small slices of the curve's height times width -> Option A
Quick Check:
Area = sum of slices [OK]
Hint: Think of area as many tiny rectangles added up [OK]
Common Mistakes:
Confusing area with curve length
Thinking integration counts points
Assuming integration finds max value
2. Which of the following is the correct way to import the numerical integration function from SciPy?
easy
A. from scipy import quad.integrate
B. import scipy.integrate.quad
C. import quad from scipy.integrate
D. from scipy.integrate import quad
Solution
Step 1: Recall Python import syntax
To import a function from a module, use 'from module import function'.
Step 2: Apply to SciPy integration
The function 'quad' is inside 'scipy.integrate', so correct import is 'from scipy.integrate import quad'.
Final Answer:
from scipy.integrate import quad -> Option D
Quick Check:
Correct import syntax = from scipy.integrate import quad [OK]
Hint: Use 'from module import function' for specific imports [OK]
Common Mistakes:
Using dot notation in import statement incorrectly
Trying to import function with 'import function from module'
Confusing module and function names
3. What is the output of this code?
from scipy.integrate import quad
f = lambda x: x**2
result, error = quad(f, 0, 2)
print(round(result, 2))
medium
A. 2.67
B. 2.00
C. 2.67 with error message
D. 4.00
Solution
Step 1: Understand the function and integration limits
The function is f(x) = x^2, integrated from 0 to 2.
Step 2: Calculate the definite integral
The integral of x^2 dx from 0 to 2 is (2^3)/3 - (0^3)/3 = 8/3 ≈ 2.6667, rounded to 2.67.
Final Answer:
2.67 -> Option A
Quick Check:
Integral of x^2 from 0 to 2 = 8/3 ≈ 2.67 [OK]
Hint: Recall integral of x^2 is x^3/3 [OK]
Common Mistakes:
Confusing integration limits
Rounding error mistakes
Expecting error message from quad
4. Find the error in this code snippet:
from scipy.integrate import quad
f = lambda x: x**2
result = quad(f, 0, 2)
print(result)
medium
A. The function f is not defined correctly
B. quad returns two values; unpack both before printing
C. Integration limits should be reversed
D. quad cannot integrate lambda functions
Solution
Step 1: Check the return value of quad
quad returns a tuple: (integral result, error estimate).
Step 2: Identify how result is used
The code assigns quad output to 'result' but prints it directly, showing a tuple, not just the integral.
Step 3: Correct usage
Unpack quad output as 'result, error = quad(...)' to get the integral value alone.
Final Answer:
quad returns two values; unpack both before printing -> Option B
Quick Check:
Unpack quad output = quad returns two values; unpack both before printing [OK]
5. You want to find the area under the curve of f(x) = sin(x) from 0 to π using SciPy's quad. Which code correctly computes this area and why does it work?
hard
A. import scipy
result = scipy.integrate.quad(sin, 0, 3.14)
print(result[0])
B. from scipy.integrate import quad
result, error = quad(lambda x: sin(x), 0, 3.14)
print(result)
C. from scipy.integrate import quad
import math
result, error = quad(math.sin, 0, math.pi)
print(round(result, 2))
D. from scipy.integrate import quad
result = quad(math.sin, 0, math.pi)
print(result)
Solution
Step 1: Check function and limits
We want to integrate sin(x) from 0 to π. math.sin and math.pi provide correct function and limit.
Step 2: Use quad correctly
quad returns (result, error), so unpack both. Then round result for clear output.
Step 3: Why it works
Using math.sin ensures correct sine function, math.pi is precise π, and unpacking captures integral value.
Final Answer:
from scipy.integrate import quad
import math
result, error = quad(math.sin, 0, math.pi)
print(round(result, 2)) -> Option C
Quick Check:
Correct function, limits, unpacking = from scipy.integrate import quad
import math
result, error = quad(math.sin, 0, math.pi)
print(round(result, 2)) [OK]
Hint: Use math.sin and math.pi with quad, unpack result [OK]
Common Mistakes:
Using undefined sin without import
Not unpacking quad output
Using approximate pi (3.14) instead of math.pi
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.