تكامل عددي
في التحليل العددي، يشكل التكامل العددي عائلة واسعة من الخوارزميات لحساب القيمة العددية لتكامل محدد، وللتوسع أكثر يستعمل المصطلح أحيانا أيضا في وصف الحل العددي للمعادلات التفاضلية.
في بعض الأحيان ما ينسب التكامل التربيعي (يختصر عادة التربيعي) كمعنى للتكامل العددي، وخاصة عند تطبيقه على التكاملات الأحادية. كما يطلق مصطلح التكعيبي عادة على التكاملات الثنائية فما فوقها.
المسألة الأساسية التي يمكن اعتبارها في التكامل العددي هي حساب حل تقريبي لتكامل محدد:
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
أسباب اللجوء للتكامل العددي
طرق للتكاملات الأحادية
قواعد التربيع المبنية على تقاطع الدوال
خوارزميات متلائمة
- مقالة مفصلة: تربيع متلائم
def calculate_definite_integral_of_f(f, initial_step_size):
'''
This algorithm calculates the definite integral of a function
from 0 to 1, adaptively, by choosing smaller steps near
problematic points.
'''
x = 0.0
h = initial_step_size
accumulator = 0.0
while x < 1.0:
if x + h > 1.0:
h = 1.0 - x
quad_this_step =
if error_too_big_in_quadrature_of_over_range(f, [x,x+h]):
h = make_h_smaller(h)
else:
accumulator += quadrature_of_f_over_range(f, [x,x+h])
x += h
if error_too_small_in_quadrature_of_over_range(f, [x,x+h]):
h = make_h_larger(h) # Avoid wasting time on tiny steps.
return accumulator
طرق التقدير الاستقرائي
تخمين الخطأ المحافظ (الأسبقية)
تكاملات متعددة الأبعاد
مونت كارلو
- مقالة مفصلة: تكامل مونت كارلو
الشبائك المتناثرة
علاقتة بالمعادلات التفاضلية
برنامج للتكامل العددي
Numerical integration is one of the most intensively studied problems in numerical analysis. Of the many software implementations we list a few here.
- QUADPACK (part of SLATEC): description [1], source code [2]. QUADPACK is a collection of algorithms, in Fortran, for numerical integration based on Gaussian quadrature.
- GSL: The GNU Scientific Library (GSL) is a numerical library written in C which provides a wide range of mathematical routines, like Monte Carlo integration.
- Numerical integration algorithms are found in GAMS class H2.
- ALGLIB is a collection of algorithms, in C# / C++ / Delphi / Visual Basic / etc., for numerical integration (includes Bulirsch-Stoer and Runge-Kutta integrators).
المراجع
- Philip J. Davis and Philip Rabinowitz, Methods of Numerical Integration.
- George E. Forsythe, Michael A. Malcolm, and Cleve B. Moler. Computer Methods for Mathematical Computations. Englewood Cliffs, NJ: Prentice-Hall, 1977. (See Chapter 5.)
- William H. Press, Brian P. Flannery, Saul A. Teukolsky, William T. Vetterling. Numerical Recipes in C. Cambridge, UK: Cambridge University Press, 1988. (See Chapter 4.)
- Josef Stoer and Roland Bulirsch. Introduction to Numerical Analysis. New York: Springer-Verlag, 1980. (See Chapter 3.)