Simpson 3/8 Rule – Numerical Integration with MATLAB Coding

The Simpson 3/8 Rule is a numerical integration method used to approximate the definite integral of a function. It is based on the approximation of the function by a cubic polynomial, using three equally spaced points.

The formula for the Simpson 3/8 Rule is:

∫[a,b] f(x)dx ≈ 3h/8 [f(a) + 3f(a+h) + 3f(a+2h) + f(b)]

where h = (b-a)/3 is the distance between the three points, and f(a), f(a+h), f(a+2h), and f(b) are the function values at those points.

The Simpson 3/8 Rule is an improvement over the simpler Simpson’s Rule, which uses only two points to approximate the function with a quadratic polynomial. The Simpson 3/8 Rule has a higher degree of accuracy and is typically more accurate for smooth functions.

However, the Simpson 3/8 Rule can only be used when the number of intervals is a multiple of three. If this condition is not met, then the last interval must be approximated using another method, such as the trapezoidal rule.

Simpson 3/8 Rule by using MATLAB Program

Simpson’s 3/8 rule is a numerical integration technique that can be used to approximate the definite integral of a function. Here’s how you can implement Simpson’s 3/8 rule in MATLAB:

  1. Define the function to be integrated, f(x), as a MATLAB function. For example, let’s define the function f(x) = x^2 as:
function y = f(x)
    y = x.^2;
end
  1. Define the lower and upper limits of integration, a and b, and the number of intervals, n. For example, let’s set a = 0, b = 1, and n = 3:
a = 0;
b = 1;
n = 3;
  1. Calculate the width of each interval, h, using the formula h = (b-a)/n:
h = (b-a)/n;
  1. Calculate the values of f(x) at the endpoints of each interval, as well as the midpoint of each interval. Store these values in an array or matrix. For example:
x = linspace(a,b,n+1);
y = f(x);

5. Use Simpson’s 3/8 rule formula to approximate the integral of f(x) over the interval [a,b]. The formula is:

integral = 3h/8 * (y(1) + 3y(2) + 3y(3) + 2y(4) + 3y(5) + 3y(6) + y(7));

In MATLAB, you can implement this formula as:

integral = 3*h/8 * (y(1) + 3*y(2) +  3*y(3) + 2*y(4) + 3*y(5) + 3*y(6) + y(7));
 
  1. Display the value of the approximate integral:
disp(integral);

Here’s the complete MATLAB code for the Simpson’s 3/8 rule:

function y = f(x)
    y = x.^2;
end

a = 0;
b = 1;
n = 3;

h = (b-a)/n;

x = linspace(a,b,n+1);
y = f(x);

integral = 3*h/8 * (y(1) + 3*y(2) + 3*y(3) + 2*y(4) + 3*y(5) + 3*y(6) + y(7));

disp(integral);

This code will output the approximate value of the integral of f(x) over the interval [0,1] using Simpson’s 3/8 rule.