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.


Discover more from Reads Blog

Subscribe to get the latest posts to your email.

About The Author

Discover more from Reads Blog

Subscribe now to keep reading and get access to the full archive.

Continue reading