تكامل عددي

من ويكيبيديا، الموسوعة الحرة
اذهب إلى: تصفح، ‏ ابحث
تكامل عددي يتكون من إيجاد تقريبات عددية للقيمة S\,

في التحليل العددي، يشكل التكامل العددي عائلة واسعة من الخوارزميات لحساب القيمة العددية لتكامل محدد، وللتوسع أكثر يستعمل المصطلح أحيانا أيضا في وصف الحل العددي للمعادلات التفاضلية.

في بعض الأحيان ما ينسب التكامل التربيعي (يختصر عادة التربيعي) كمعنى للتكامل العددي، وخاصة عند تطبيقه على التكاملات الأحادية. كما يطلق مصطلح التكعيبي عادة على التكاملات الثنائية فما فوقها.

المسألة الأساسية التي يمكن اعتبارها في التكامل العددي هي حساب حل تقريبي لتكامل محدد:

\int_a^b\! f(x)\, dx.

أسباب اللجوء للتكامل العددي[عدل]

توجد أسباب عدة للجوء للتكامل العددي. فالكمية المتكاملة f(x)\, يمكن معرفتها فقط عند نقاط معينة، كتلك المحصل عليها عن طريق الأخذ بالعينة. بعض الأنظمة المضمنة وبعض التطبيقات الأخرى قد تحتاج إلى تكامل عددي لهذا السبب.

قد يعرف المرء الكمية المتكاملة ولكن يكون من الصعب أو المستحيل إيجاد الاشتقاق العكسي والذي يفترض أن يكون دالة أساسية. مثال ذلك هو f(x)=e^{-x^2}، والتي لايمكن كتابة اشتقاقها العكسي بصورة أولية.

قد يكون ممكننا إيجاد الاشتقاق العكسي بشكل رمزي، ولكن ربما كان حساب التقريب العددي أسهل من إيجاد الاشتقاق العكسي. قد تكون تلك الحالة عندما يعطى الاشتقاق العكسي في صورة متسلسلة لانهائية، أو إذا كان تقديرها يتطلب دالة خاصة غير متوافرة.

طرق للتكاملات الأحادية[عدل]

قواعد التربيع المبنية على تقاطع الدوال[عدل]

خوارزميات متلائمة[عدل]

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.)
Nuvola apps edu mathematics-ar.svg هذه بذرة مقالة عن الرياضيات بحاجة للتوسيع. شارك في تحريرها.