روش ادمز-بشفورث مرتبه ۳

Adams-Bashforth Three-Step Method
روش ادمز بشفورث
معرفی

در برخی از روش های حل معادلات دیفرانسیل معمولی (ODE)  به شکل

dy/dx = f(x,y)

برای بدست آوردن پاسخ در گام بعدی y_{i+1} از پاسخ مسئله در چند گام قبل جهت کاهش خطای حل استفاده می کنند. یکی از روش های انتگرال گیری از این معادلات روش های آدامز (Adams Formulas) هستند که به صورت گسترده در الگوریتم های عددی مورد استفاده قرار می گیرند. این روش ها به دو دسته ی صریح یا باز (Explicit or Open) و ضمنی یا بسته (Implicit or Closed) طبقه بندی می شوند. در روش های صریح (یا باز) مقدار y_{i+1} به مقدار تابع در همان گام f(x_{i+1},y_{i+1}) وابسته نیست و در روش های ضمنی (یا بسته) این وابستگی در روابط وجود دارد.

روش ادمز-بشفورث (Adams-Bashforth) سه گام (مرتبه سه) یکی از روش های صریح در حل معادلات دیفرانسیل معمولی است. در این روش از اطلاعات سه گام قبل برای حل مسئله استفاده می گردد. در این روش با داشتن y_0, y_1, y_2 به عنوان پاسخ مسئله در سه گام ابتدایی داریم:

y_{i+1}=y_i+{h/12}delim{[}{23f(x_i,y_i) - 16f(x_{i-1},y_{i-1}) + 5f(x_{i-2},y_{i-2})}{]}

که در آن f(x_{i-1},y_{i-1}), f(x_{i},y_{i}) و f(x_{i-2},y_{i-2}) مقادیر تابع سمت راست معادله دیفرانسیل در سه گام قبل از گام پاسخ y_{i+1} می باشند.

    برنامه نویسی با MATLAB

    در اینجا با استفاده از نرم افزار متلب (MATLAB) برنامه ای جهت حل معادلات دیفرانسیل معمولی به روش ادمز بشفورث مرتبه سوم ارائه گردیده است. دو کد برای این منظور در یک فایل فشرده ارائه گردیده است:

    1. کد صریح (explicit) که در خروجی روند حل کامل مسئله را نمایش می دهد

    2. کد غیرصریح (معمولی) که تنها پاسخ نهایی را نمایش می دهد

    لازم به ذکر است که برنامه ی ارائه شده قادر به حل تمامی مثال های قابل حل با روش ادمز بشفورث مرتبه سوم بوده و به صورت کاملا عمومی (general) کدنویسی شده است.

    ورودی ها و خروجی ها

    ورودی:

    1. تابع (f(x,y ورودی
    2. نقطه ی ابتدایی بازه ی حل
    3. نقطه ی انتهایی بازه ی حل
    4. مقدار اولیه ی تابع y در نقطه ی ابتدایی بازه ی حل (گام اول)
    5. مقدار اولیه ی تابع y در نقطه ی دوم بازه ی حل (گام دوم)
    6. مقدار اولیه ی تابع y در نقطه ی سوم بازه ی حل (گام سوم)
    7. تعداد گام های حل n

    خروجی:

    1. محاسبه و نمایش طول گام حل h
    2. نمایش روند حل به صورت کامل در هر گام
    3. نمایش جدول مقادیر تابع حاصل از حل به روش اولر
    4. رسم نمودار حاصل از حل

    تصاویر اجرای برنامه

    مشاهده ی ورودی و خروجی برنامه در یک مثال نمونه

    مشاهده ی ورودی و خروجی برنامه ی غیر صریح در یک مثال

    نمودار خروجی رسم شده برای مثال نمونه

    این برنامه با نسخه های متلب/MATLAB سال های 2010-2013 تست شده است. در صورت استفاده از نسخه ی سال های دیگر لایبریکا تضمین کننده ی اجرای صحیح برنامه نمی باشد.