انتگرال دوگانه سیمپسون

Simpson’s Rule Double Integration
انتگرال دوگانه سیمپسون با متلب
معرفی

از روش های انتگرال گیری عددی مانند قاعده ی سیمپسون می توان به منظور محاسبه ی انتگرال های چندگانه استفاده نمود. انتگرال دوگانه ی زیر را درنظر بگیرید:

doubleint{R}{~}{f(x,y)dA}

که R یک ناحیه ی مستطیلی در سطح است:

R= delim{lbrace}{(x,y) delim{|}{~}{~} a<=x<=b, c<=y<=d}{rbrace}

فرض کنیم n و m اعداد صحیح زوجی باشند که به منظور تعیین اندازه ی گام انتگرال گیری h=(b-a)/n و k=(d-c)/m انتخاب شده اند. ما ابتدا انتگرال دوگانه را به صورت دو انتگرال داخل هم بازنویسی می کنیم:

doubleint{R}{~}{f(x,y)dA} = int{a}{b}{(int{c}{d}{f(x,y)dy})dx}

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

x_i=a+ih,~~ i=0,1,...,n
y_j=c+jk,~~ j=0,1,...,m

اکنون به محاسبه ی انتگرال داخلی با استفاده از قاعده ی سیمپسون می پردازیم:

int{c}{d}{f(x,y)}dy

برای این منظور با ثابت گرفتن مقدار x=x_i برای هر i=0,1,...,n به محاسبه ی انتگرال فوق با استفاده از قاعده ی سیمپسون می پردازیم.

در نهایت به ازای هر i=0,1,...,n یک مقدار انتگرال عددی در راستای  y خواهیم داشت که با اعمال قاعده ی سیمپسون در راستای x  مقدار نهایی انتگرال دوگانه را به دست خواهد داد.

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

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

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

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

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

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

    ورودی:

    1. تابع (f(x,y ورودی جهت انتگرال گیری
    2. a: دامنه ی پایینی انتگرال گیری در راستای محور x
    3. b: دامنه ی بالایی انتگرال گیری در راستای محور x
    4. n: تعداد تقسیمات انتگرال گیری در راستای محور x
    5. c: دامنه ی پایینی انتگرال گیری در راستای محور y
    6. d: دامنه ی بالایی انتگرال گیری در راستای محور y
    7. m: تعداد تقسیمات انتگرال گیری در راستای محور y

    خروجی:

    1. حل کامل مسئله به صورت صریح
    2. مقدار نهایی پاسخ انتگرال

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

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

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

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