Skip to content
DeepForgeby svx
All problems
EasyCalculusca-010

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
    pass

5 test cases · run your code against them in the editor