قاعده سیمپسون

در علم محاسبات عددی روشی برای بدست آوردن عددی انتگرال‌ها وجود دارد که توسط توماس سیمپسون مورد استفاده قرار گرفته‌است و به همین دلیل به این روش **قاعده سیمپسون** می‌گویند.
در این قانون با استفاده از n بار استفاده از قانون ذوزنقه برای بدست آوردن مساحت زیر نمودار فرمولی برای مساحت زیر نمودار بدست میاورد که دقیقتر از روش ذوزنقه است.
در این قانون با تقسیم کردن نمودار به بخش‌های کوچک‌تر مساحت زیر نمودار را بدست میاورد (با تقسیم به n+1 بخش که n عددی زوج است).
:\int_{a}^{b} f(x) \, dx \approx
\tfrac{\Delta x}{3}\left(f(x_0) + 4f(x_1)+2f(x_2)+ 4f(x_3)+2f(x_4)+\cdots+4f(x_{n-1}) + f(x_{n})\right) 

البته حدود صد سال پیش از سیمپسون فردی به نام یوهانس کپلر از این فرمول استفاده کرده بود به همین دلیل گاهی به این روش قانون کپلر هم گفته می‌شود.

## تعمیم قاعده سیمپسون
اگر اندازهٔ بازهٔ مورد انتگرال کوچک باشد، قاعده سیمپسون برای n = ۲ یک جواب نسبتاً دقیق از جواب انتگرال خواهد بود. اما اگر تابع ما پیوستگی نداشته باشد یا اندازهٔ بازهٔ مورد انتگرال بزرگ باشد یا تابع ما دارای مشتق‌های ناپیوسته باشد، در هر یک از این موارد قاعده سیمپسون برای n = ۲ جوابی دقیق ارائه نمی‌دهد. در این صورت می‌توان بازه را به n > 2 بخش تقسیم کرد و در هر یک از این بخش‌ها از قاعده سیمپسون استفاده کرد؛ که در این صورت به آن تعمیم قاعده سیمپسون گفته می‌شود.
فرض کنید بازهٔ انتگرال [a,b] به n بخش تقسیم شده‌است و همچنین n را عددی زوج در نظر بگیرید در این صورت طبق قاعده سیمپسون داریم


\begin{align}
\int_a^b f(x) \, dx & \approx \frac{h}{3}
\sum_{j=1}^{n/2}\bigg[f(x_{2j-2})+4f(x_{2j-1})+f(x_{2j})\bigg]\\
{} & = \frac{h}{3}
\bigg[f(x_0)+2\sum_{j=1}^{n/2-1}f(x_{2j}) + 4\sum_{j=1}^{n/2}f(x_{2j-1}) + f(x_n)\bigg]
\end{align}

که در این فرمول x_j=a+jh برای j=0, 1, ..., n-1, n و در آن h=(b-a)/n

خطای تعمیم قاعده سیمپسون برابر است با

Error = -\frac{h^4}{180}(b-a)f^{(4)}(\xi)

که در آن \xi عددی بین a و b است و h=(b-a)/n طول هر گام است.

## قاعده سیمپسون یک سوم
اگر چندجمله‌ای درجهٔ دو  P(x)  را به جای تابع  f(x)  در فرمول استفاده کنیم می‌توان با استفاده از درونیابی می‌توان این چندجمله‌ای را بدست آورد.

 P(x) = f(a) \tfrac{(x-m)(x-b)}{(a-m)(a-b)} + f(m) \tfrac{(x-a)(x-b)}{(m-a)(m-b)} + f(b) \tfrac{(x-a)(x-m)}{(b-a)(b-m)}


با انتگرال گرفتن از دو طرف تساوی و استفاده از قانون لاگرانژ داریم:

 \int_{a}^{b} P(x) \, dx =\tfrac{b-a}{6}\left[f(a) + 4f\left(\tfrac{a+b}{2}\right)+f(b)\right]

که این روش انتگرال‌گیری که یک حالت خاص از قاعده سیمپسون است را با نام سیمپسون یک سوم می‌شناسند.

خطای این روش محاسبهٔ انتگرال برابر است با:

Error = -\tfrac{1}{90} \left(\tfrac{b-a}{2}\right)^5 f^{(4)}(\xi)  که   a

## میانگین نقطهٔ میانی و روش ذوزنقه
از دیگر فرمول‌های به‌دست آمده از قاعده سیمپسون توسط فرمول‌های نقطهٔ میانی

 M = (b-a) f \left( \tfrac{a+b}{2} \right) 

و فرمول روش ذوزنقه

 T = \tfrac12 (b-a) (f(a)+f(b)). 

است که خطای این دو روش به ترتیب

 \tfrac1{24} (b-a)^3 f*(a) + O((b-a)^4)</math>

و

<math> -\tfrac1{12} (b-a)^3 f*(a) + O((b-a)^4) 

هستند که برای استخراج فرمول جدید از این دو روش به نسبت خطاها آن‌ها را جمع می‌کنیم.

 \tfrac{2M+T}{3} 

جمع وزن‌دار این دو فرمول دقیقاً همان فرمول سیمپسون یک سوم است.

## قاعده سیمپسون سه هشتم

این قانون یکی دیگر از روش‌های محاسبهٔ انتگرال است. این قانون با درونیابی یک چندجمله‌ای درجه ۳ و استفاده از قاعده سیمپسون بدست می‌آید.

 \int_{a}^{b} f(x) \, dx \approx \tfrac{3h}{8}\left[f(a) + 3f\left(\tfrac{2a+b}{3}\right) + 3f\left(\tfrac{a+2b}{3}\right) + f(b)\right]
= \tfrac{(b-a)}{8}\left[f(a) + 3f\left(\tfrac{2a+b}{3}\right) + 3f\left(\tfrac{a+2b}{3}\right) + f(b)\right]

خطای روش سیمپسون سه هشتم برابر است با:

Error = -\tfrac{(b-a)^5}{6480} f^{(4)}(\xi)

## تعمیم قاعده سیمپسون سه هشتم
در این روش با n بار استفاده از قاعده سیمپسون سه هشتم در بازهٔ [a,b] فرمول زیر به‌دست می‌آید


\begin{align}
\int_a^b f(x) \, dx & \approx \tfrac{3h}{8}\left[f(x_0) + 3f(x_1) + 3f(x_2)
+ 2f(x_3) + 3f(x_4) + 3f(x_5) + 2f(x_6) + \cdots + f(x_n)\right]. \\
& = \frac{3h}{8} \left[f(x_0) + 3 \sum_{i \ne 3k}^{n-1} f(x_i) + 2 \sum_{j=1}^{n/3 - 1} f(x_{3j}) + f(x_n) \right] \qquad \text{For:  } k \in \mathbb{N}_0
\end{align}


خطای روش تعمیم قاعده سیمپسون سه هشتم برابر است با

Error = -\frac{h^4}{80}(b-a)f^{(4)}(\xi),

## قاعده سیمپسون تعمیم یافته
در تعمیم قاعده سیمپسون به جای استفاده از قاعده سیمپسون در بین بخش‌های جداگانه، آن را بین بخش‌هایی که همپوشانی دارند استفاده می‌کنیم


\int_a^b f(x) \, dx\approx
\tfrac{h}{48}\bigg[17f(x_0)+59f(x_1)+43f(x_2)+49f(x_3)+48 \sum_{i=4}^{n-4} f(x_i)+49f(x_{n-3})+43f(x_{n-2})+59f(x_{n-1})+17f(x_n)\bigg]


این فرمول با استفاده از قاعده سیمپسون و قاعده سیمپسون سه هشتم و در نهایت میانگین گرفتن از دو فرمول به‌دست آمده به‌دست آمده‌است.

## قاعده سیمپسون تعمیم‌یافته برای داده‌های غیرمعمول
برای انتگرال گرفتن از بازهٔ غیرمعمول I=[a,b] که به علت‌های مختلفی مانند کامل نبودن داده‌ها یا از بین رفتن آن‌ها رخ می‌دهد، لازم است آن را به بازه‌های غیر زوج تقسیم کنیم.

فرض کنید این بازه را به زوج زیر بخش (N) با ارتفاع‌های h_k تقسیم کرده‌ایم در این صورت داریم


\int_a^b f(x)\,\mathrm{d}x = \sum_{i=0}^{N/2-1} \left( \alpha_i f_{2i+2} + \beta_i f_{2i+1} + \eta_i f_{2i} \right)


که f_k=f\left(a+\sum_{i=0}^{k-1} h_i \right) مقادیر تابع اصلی در k امین نقطهٔ قاعده سیمپسون است و ضرایب \alpha_i,\,\beta_i, and \eta_i از طریق زیر به‌دست می‌آیند
:
\alpha_i = \frac{2 h_{2i+1}^3-h_{2i}^3+3h_{2i}h_{2i+1}^2}{6h_{2i+1}(h_{2i+1}+h_{2i})},

:
\beta_i = \frac{h_{2i+1}^3+h_{2i}^3+3h_{2i+1}h_{2i}(h_{2i+1}+h_{2i})}{6h_{2i+1}h_{2i}},

:
\eta_i = \frac{2h_{2i}^3-h_{2i+1}^3+3h_{2i+1}h_{2i}^2}{6 h_{2i}(h_{2i+1}+h_{2i})}


که استفادهٔ این روش در قطعه کد زیر در پایتون (زبان برنامه‌نویسی) آمده‌است:

## یادداشت‌ها

## منابع

* 
* 
* 
* 
* 
* 
* 

رده:انتگرال‌گیری عددی
رده:حساب انتگرال
رده:محاسبات عددی
رده:ویکی‌سازی رباتیک