All problems
Simpson Rule
Problem
Apply Simpson's rule to uniformly spaced samples:
integral ≈ (dx / 3) * (v[0] + 4*v[1] + 2*v[2] + 4*v[3] + ... + v[n])
where values has n + 1 entries and n is even. Return 0.0 when n <= 0 or n is odd.
Hint
Odd-indexed interior samples get weight 4, even-indexed interior samples get weight 2.
Test cases
case 1
in: [[0,0.25,1,2.25,4],0.5]
expected: 2.6666666666666665
case 2
in: [[1,1,1,1,1],0.5]
expected: 2
case 3
in: [[0,0,0,0,0],1]
expected: 0
case 4
in: [[1,1,1],1]
expected: 2
case 5
in: [[1,1],1]
expected: 0
Starter codePython
def simpson_rule(values, dx):
# values has an even number of intervals
# Your code here
pass5 test cases · run your code against them in the editor