Simpson's 3/8 Method Python Program

This program implements Simpson's 3/8 Rule to find approximated value of numerical integration in python programming language.

In this python program, lower_limit and upper_limit are lower and upper limit of integration, sub_interval is number of sub interval used while finding sum and function f(x) to be integrated by Simpson 3/8 method is defined using python function definition def f(x):.

Python Source Code: Simpson's 3/8 Rule


# Simpson's 3/8 Rule

# Define function to integrate
def f(x):
    return 1/(1 + x**2)

# Implementing Simpson's 3/8
def simpson38(x0,xn,n):
    # calculating step size
    h = (xn - x0) / n
    
    # Finding sum 
    integration = f(x0) + f(xn)
    
    for i in range(1,n):
        k = x0 + i*h
        
        if i%3 == 0:
            integration = integration + 2 * f(k)
        else:
            integration = integration + 3 * f(k)
    
    # Finding final integration value
    integration = integration * 3 * h / 8
    
    return integration
    
# Input section
lower_limit = float(input("Enter lower limit of integration: "))
upper_limit = float(input("Enter upper limit of integration: "))
sub_interval = int(input("Enter number of sub intervals: "))

# Call trapezoidal() method and get result
result = simpson38(lower_limit, upper_limit, sub_interval)
print("Integration result by Simpson's 3/8 method is: %0.6f" % (result) )

Output

Enter lower limit of integration: 0
Enter upper limit of integration: 1
Enter number of sub intervals: 6
Integration result by Simpson's 3/8 method is: 0.735877