0
0
SciPydata~20 mins

Simpson's rule (simpson) in SciPy - Practice Problems & Coding Challenges

Choose your learning style9 modes available
Challenge - 5 Problems
🎖️
Simpson's Rule Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
Predict Output
intermediate
2:00remaining
Output of Simpson's rule integration with simple function
What is the output of this code that uses Simpson's rule to integrate f(x) = x^2 from 0 to 2 with 5 points?
SciPy
import numpy as np
from scipy.integrate import simpson
x = np.linspace(0, 2, 5)
y = x**2
result = simpson(y, x)
print(round(result, 4))
A2.6668
B2.6667
C2.6665
D2.6666
Attempts:
2 left
💡 Hint
Recall the exact integral of x^2 from 0 to 2 is 8/3 ≈ 2.6667. Simpson's rule should approximate closely.
data_output
intermediate
1:30remaining
Number of intervals used in Simpson's rule with uneven spacing
Given unevenly spaced points x and function values y, how many intervals does scipy.integrate.simpson use internally for integration?
SciPy
import numpy as np
from scipy.integrate import simpson
x = np.array([0, 1, 1.5, 2.5, 3])
y = np.sin(x)
result = simpson(y, x)
intervals = len(x) - 1
print(intervals)
A5
B3
C4
D2
Attempts:
2 left
💡 Hint
Intervals are the spaces between points, so count points minus one.
🔧 Debug
advanced
2:00remaining
Identify the error in Simpson's rule usage
What error does this code raise when trying to integrate y = x^3 over 0 to 3 with 4 points using simpson?
SciPy
import numpy as np
from scipy.integrate import simpson
x = np.linspace(0, 3, 4)
y = x**3
result = simpson(y, x)
print(result)
AIndexError: index out of range
BTypeError: unsupported operand type(s) for ** or pow()
CNo error, outputs 20.25
DValueError: Simpson's rule requires an odd number of samples.
Attempts:
2 left
💡 Hint
Simpson's rule needs an odd number of points to work correctly.
🚀 Application
advanced
1:30remaining
Choosing the correct Simpson's rule call for equally spaced data
You have y values of a function sampled at equal intervals of 0.1 seconds. Which simpson call correctly computes the integral over time?
Asimpson(y, dx=0.1)
Bsimpson(y, x=np.arange(len(y))*0.1)
Csimpson(y)
Dsimpson(y, dx=1)
Attempts:
2 left
💡 Hint
When spacing is uniform, use dx parameter for efficiency.
🧠 Conceptual
expert
2:30remaining
Why does Simpson's rule require an odd number of points?
Why must the number of sample points be odd when using Simpson's rule for numerical integration?
ABecause Simpson's rule fits parabolas over pairs of intervals, needing an odd number of points.
BBecause the function must be sampled at prime number points only.
CBecause the algorithm uses trapezoids which require odd points.
DBecause the integral is only defined for odd number of points.
Attempts:
2 left
💡 Hint
Think about how parabolas are fit between points.