Правилото на Симпсън: Формулата и как работи

Правилото на Симпсън е метод за числена интеграция. С други думи, това е численото приближение на определени интеграли.

Правилото на Симпсън е следното:

В него,

  • f(x)се нарича интеграл
  • a = долна граница на интеграция
  • b = горна граница на интеграция

1/3 правило на Симпсън

Както е показано на диаграмата по-горе, интегрирането f(x)се апроксимира от полином от втори ред; квадратичното интерполантно същество P(x).

Приближението следва,

Заменяйки (b-a)/2като h, получаваме,

Както можете да видите, 1/3в горния израз има фактор от . Ето защо се нарича 1/3 правило на Симпсън .

Ако дадена функция е силно трептяща или липсват производни в определени точки, тогава горното правило може да не даде точни резултати.

Чест начин за справяне с това е използването на композитния подход на правилото на Симпсън . За да направите това, [a,b]разбийте на малки подинтервали, след което приложете правилото на Симпсън към всеки подинтервал. След това сумирайте резултатите от всяко изчисление, за да се получи приближение за целия интеграл.

Ако интервалът [a,b]е разделен на nподинтервали и nе четно число, съставното правило на Симпсън се изчислява със следната формула:

където x j = a + jh за j = 0,1, ..., n-1, n с h = (ba) / n ; по-специално x 0 = a и x n = b .

Пример в C ++:

За да се сближи стойността на интеграла, дадена по-долу, където n = 8:

#include #include using namespace std; float f(float x) { return x*sin(x); //Define the function f(x) } float simpson(float a, float b, int n) { float h, x[n+1], sum = 0; int j; h = (b-a)/n; x[0] = a; for(j=1; j<=n; j++) { x[j] = a + h*j; } for(j=1; j<=n/2; j++) { sum += f(x[2*j - 2]) + 4*f(x[2*j - 1]) + f(x[2*j]); } return sum*h/3; } int main() { float a,b,n; a = 1; //Enter lower limit a b = 4; //Enter upper limit b n = 8; //Enter step-length n if (n%2 == 0) cout<

Simpson's 3/8 Rule

Simpson's 3/8 rule is similar to Simpson's 1/3 rule, the only difference being that, for the 3/8 rule, the interpolant is a cubic polynomial. Though the 3/8 rule uses one more function value, it is about twice as accurate as the 1/3 rule.

Simpson’s 3/8 rule states :

Original text


Replacing (b-a)/3 as h, we get,

Simpson’s 3/8 rule for n intervals (n should be a multiple of 3):

where xj = a+jh for j = 0,1,…,n-1,n with h=(b-a)/n; in particular, x0 = a and xn = b.