روش های چند مرحله ای خطی برای حل عددی معادلات دیفرانسیل معمولی استفاده می شود . از نظر مفهومی ، یک روش عددی از یک نقطه اولیه شروع می شود و سپس یک گام کوتاه به جلو در زمان می یابد تا نقطه راه حل بعدی را پیدا کند. این روند با مراحل بعدی برای مشخص کردن راه حل ادامه می یابد. روشهای تک مرحله ای (مانند روش اویلر ) برای تعیین مقدار فعلی فقط به یک نکته قبلی و مشتق آن اشاره دارند. روش هایی مانند Runge-Kuttaبرای به دست آوردن یک روش مرتبه بالاتر چند قدم متوسط ​​(به عنوان مثال نیم مرحله) را انجام دهید ، اما سپس قبل از انجام یک مرحله دوم ، تمام اطلاعات قبلی را دور بیندازید. روشهای چند مرحله ای به جای دور انداختن آن ، با نگه داشتن و استفاده از اطلاعات از مراحل قبلی ، بهره وری به دست می آورند. در نتیجه ، روشهای چند مرحله ای به چندین نکته قبلی و مقادیر مشتق اشاره دارند. در مورد روش های چند مرحله ای خطی ، از ترکیب خطی از نقاط قبلی و مقادیر مشتق استفاده می شود.

 

فهرست

تعاریف ویرایش ]

روشهای عددی برای معادلات دیفرانسیل معمولی ، راه حلهای تقریبی برای مشکلات مقدار اولیه فرم را نشان می دهد

 y '= f (t ، y) ، \ quad y (t_0) = y_0.

نتیجه تقریبی برای مقدار است ) y (t)  در زمان های گسسته  t_i :

y_ {i} \ تقریبی y (t_ {i}) \ quad {\ text {جایی که}} \ quad t_ {i} = t_ {0} + ih ،

جایی کهساعت مرحله زمان است (که گاه به آن گفته می شود  \ دلتا تی ) و من یک عدد صحیح است

روش های چند مرحله ای از اطلاعات قبلی استفاده می کنند sمراحل محاسبه مقدار بعدی به ویژه، یک خطی روش چند مرحله ای با استفاده از یک ترکیب خطی ازy_ {من} و f (t_ {i} ، y_ {i}) برای محاسبه مقدار یبرای مرحله فعلی مورد نظر بنابراین ، یک روش چند مرحله ای خطی یک روش از فرم است

\ displaystyle {\ شروع {تراز شده} & y_ {n + s} + a_ {s-1} \ cdot y_ {n + s-1 + a_ {s-2} \ cdot y_ {n + s-2} + \ cdots + a_ {0} \ cdot y_ {n} \\ & \ qquad {} = h \ cdot \ left (b_ {s} \ cdot f (t_ {n + s}، y_ {n + s}) + b_ {s-1 \ cdot f (t_ {n + s-1}، y_ {n + s-1}) + \ cdots + b_ {0} \ cdot f (t_ {n}، y_ {n}) \ درست) \\ & \ Leftrightarrow \ sum _ {j = 0} ^ {s} a_ {j} y_ {n + j = h \ sum _ {j = 0} ^ {s} b_ {j} f ( t_ {n + j ، y_ {n + j}) ، \ end {تراز شده}}}

با {\ displaystyle a_ {s} = 1. ضرایبa_ {0} ، \ dotsc ، a _ {{s-1} وb_ {0 ، \ dotsc ، b_ {sروش را تعیین کنید طراح روش ، ضرایب را انتخاب می کند ، و نیاز را برای دستیابی به تقریب مناسب به راه حل واقعی در برابر تمایل به به دست آوردن روشی که کاربرد آن آسان باشد ، متعادل می کند. اغلب ، بسیاری از ضرایب صفر برای ساده کردن روش هستند.

می توان بین روش های صریح و ضمنی تفاوت قائل شد . اگر b_s = 0 ، سپس این روش "صریح" خوانده می شود ، زیرا فرمول می تواند مستقیماً محاسبه کند  y_ {n + s . اگر b_s \ ne 0  سپس این روش "ضمنی" نامیده می شود ، زیرا مقدار از y_ {n + s  بستگی به مقدار دارد  f (t_ {n + s} ، y_ {n + s}) ، و معادله باید برای حل شود  y_ {n + s از روشهای تکراری مانند روش نیوتن اغلب برای حل فرمول ضمنی استفاده می شود.

گاهی اوقات از روش چند مرحله ای صریح برای "پیش بینی" مقدار استفاده می شود  y_ {n + s . این مقدار در فرمول ضمنی برای "اصلاح" مقدار استفاده می شود. نتیجه یک روش پیش بینی کننده-تصحیح است .

مثالها ویرایش ]

برای مثال مشکل را در نظر بگیرید

 y '= f (t، y) = y، \ quad y (0) = 1.

راه حل دقیق این است  y (t) = \ mathrm {e} ^ t .

اویلر یک مرحله ای ویرایش ]

روش ساده عددی روش اویلر است:

y_ {n + 1} = y_n + hf (t_n، y_n).  \ ،

روش اویلر را می توان به عنوان یک روش چند مرحله ای صریح برای مورد انحطاط یک مرحله مشاهده کرد.

این روش با اندازه مرحله استفاده می شودh = {\ tfrac {1} {2} در مورد مشکل y '= y ، نتایج زیر را می دهد:

{\ شروع {تراز شده} y_ {1} & = y_ {0} + hf (t_ {0} ، y_ {0}) = 1 + {\ tfrac {1} {2} \ cdot 1 = 1.5، \\ y_ {2} & = y_ {1} + hf (t_ {1}، y_ {1}) = 1.5 + {\ tfrac {1} {2}} \ cdot 1.5 = 2.25، \\ y_ {3} & = y_ {2} + hf (t_ {2} ، y_ {2}) = 2.25 + {\ tfrac {1 {{2}} \ cdot 2.25 = 3.375 ، \\ y_ {4} & = y_ {3} + hf (t_ {3} ، y_ {3}) = 3.375 + {\ tfrac {1} {2}} \ cdot 3.375 = 5.0625. \ end {تراز شده}

آدامز دو مرحله ای - باشفورت ویرایش ]

روش اویلر روشی تک مرحله ای است. روش ساده چند مرحله ای ، روش دو مرحله ای آدامز - باشفورت است

y _ {n + 2}} = y _ {{n + 1}} + {\ tfrac {3} {2}} hf (t _ {{n + 1}}، y _ {{n + 1}}) - \ tfrac {1} {2}} hf (t_ {n ، y_ {n).

این روش به دو مقدار نیاز دارد ،y_ {n + 1 و y_n ، برای محاسبه مقدار بعدی ،  y_ {n + 2 . با این حال ، مشکل مقدار اولیه تنها یک مقدار را ارائه می دهد ، y_0 = 1 . یکی از گزینه های حل این مسئله استفاده از آن است y_1 محاسبه شده با روش اویلر به عنوان مقدار دوم. با این انتخاب ، روش آدامز - باشفورت (به چهار رقم گرد):

\ fill {align} y_2 & = y_1 + \ tfrac32 hf (t_1، y_1) - \ tfrac12 hf (t_0، y_0) = 1.5 + \ tfrac32 \ cdot \ tfrac12 \ cdot1.5 - \ tfrac12 \ cdot \ tfrac12 \ cdot1 = 2.375 ، \\ y_3 & = y_2 + \ tfrac32 hf (t_2، y_2) - \ tfrac12 hf (t_1، y_1) = 2.375 + \ tfrac32 \ cdot \ tfrac12 \ cdot2.375 - \ tfrac12 \ cdot \ tfrac12 \ cdot1.5 = 3.7812 ، \\ y_4 & = y_3 + \ tfrac32 hf (t_3، y_3) - \ tfrac12 hf (t_2، y_2) = 3.7812 + \ tfrac32 \ cdot \ tfrac12 \ cdot3.7812 - \ tfrac12 \ cdot \ tfrac12 \ cdot2 375 = 6.0234.  \ end {تراز}

راه حل دقیق در  \ mathrm {e} ^ 2 = 7.3891 \ ldots بنابراین روش دو مرحله آدامز - باشفورت از روش اویلر دقیق تر است. اگر اندازه پله به اندازه کافی كوچك باشد ، همیشه این اتفاق می افتد.

خانواده های روش های چند مرحله ای ویرایش ]

سه خانواده از روشهای چند مرحله ای خطی معمولاً استفاده می شوند: روشهای آدامز- باشفورت ، روشهای آدامز - مالتون و فرمولهای تمایز عقب (BDFs).

روشهای آدامز - باشفورت ویرایش ]

روشهای آدامز - بشروت روشهای صریح و روشن هستند. ضرایب هستندa _ {{s-1}} = - 1 وa _ {{s-2}} = \ cdots = a_ {0} = 0، در حالی که b_ {jبه گونه ای انتخاب می شوند که روش ها دارای ترتیب s باشند (این روش ها را به صورت منحصر به فرد تعیین می کند).

روشهای آدامز - باشفورت با s = 1 ، 2 ، 3 ، 4 ، 5 ( Hairer، Nørsett & Wanner 1993 ، §III.1؛ Butcher 2003 ، p. 103):

{\ displaystyle {\ شروع {تراز شده} y_ {n + 1} & = y_ {n} + hf (t_ {n} ، y_ {n}) ، \ qquad {\ text {(این روش اویلر است)}} \\ y_ {n + 2} & = y_ {n + 1} + h \ left ({\ frac {3} {2}} f (t_ {n + 1}، y_ {n + 1}) - {\ frac {1} {2}} f (t_ {n}، y_ {n}) \ Right)، \\ y_ {n + 3} & = y_ {n + 2} + h \ left (fr \ frac {23 } {12}} f (t_ {n + 2}، y_ {n + 2}) - {\ frac {16 12}} f (t_ {n + 1 ، y_ {n + 1 +) + \ frac {5} {12} (f (t_ {n}، y_ {n}) \ Right)، \\ y_ {n + 4} & = y_ {n + 3 + h \ left ({\ frac 55 55 24}} f (t_ {n + 3}، y_ {n + 3}) - {\ frac {59 24} 24 {} f (t_ {n + 2 ، y_ {n + 2}) + {\ frac {37} 24}} f (t_ {n + 1}، y_ {n + 1}) - {\ frac {9} {24}} f (t_ {n} ، y_ {n) \ سمت راست) ، \\ y_ {n + 5} & = y_ {n + 4} + h \ left ({\ frac {1901 {720}} f (t_ {n + 4 ، y_ {n + 4}) - {\ frac {2774} 20 720}} f (t_ {n + 3}، y_ {n + 3}) + {\ frac {2616 20 720}} f (t_ {n + 2، y_ {n +2}) - {\ frac {1274} {720}} f (t_ {n + 1} ، y_ {n + 1) + {\ frac {251} {720}} f (t_ {n}، y_ {n}) \ درست). \ end {تراز شده}}

ضرایب b_ {jمی تواند به شرح زیر تعیین شود. استفاده از درون یابی چند جمله ای برای پیدا کردن چند جمله ای ص از درجهs-1 به طوری که

 p (t_ {n + i}) = f (t_ {n + i} ، y_ {n + i}) ، \ qquad \ text {برای} i = 0 ، \ ldots ، s-1.

فرمول لاگرانژ برای بازده الحاق چند جمله ای

 p (t) = \ sum_ {j = 0} ^ {s-1} \ frac {(- 1) ^ {sj-1} f (t_ {n + j، y_ {n + j})} {j ! (sj-1)! h ^ {s-1}} \ prod_ {i = 0 \ atop i \ ne j} ^ {s-1} (t-t_ {n + i}).

p چند جمله‌ای به صورت محلی تقریب خوبی از سمت راست معادله دیفرانسیل است y '= f (t ، y)  این باید حل شود ، بنابراین معادله را در نظر بگیرید y '= p (t)بجای. این معادله دقیقاً قابل حل است. راه حل صرفاً انتگرال p است . این نشان می دهد که گرفتن

 y_ {n + s} = y_ {n + s-1} + \ int_ {t_ {n + s-1}} ^ {t_ {n + s}} p (t) \، dt.

هنگامی که فرمول p جایگزین شود ، روش آدامز-بشفورت پدید می آید . ضرایبb_ {j معلوم می شود توسط داده می شود

 b_ {sj-1} = \ frac {(- 1) ^ j} {j! (sj-1)!} \ int_0 ^ 1 \ prod_ {i = 0 \ atop i \ ne j} ^ {s-1} (u + i) \، du، \ qquad \ text {for} j = 0، \ ldots، s-1.

جایگزین کردن f (t ، y)توسط interpolant آن ص متحمل خطا سفارش ساعت ها ، و پس از آن که بازدید کنندگان روش آدامز-Bashforth گام است در واقع منظور بازدید کنندگان ( Iserles 1996 ، §2.1)

روش های آدامز - باشفورت توسط جان کوچ آدامز طراحی شده است تا یک عمل مویرگی مدل سازی معادله دیفرانسیل را با توجه به فرانسیس باشفورت حل کند . باشفورت (1883) نظریه و روش عددی آدامز را منتشر کرد ( گلدستاین 1977 ).

منبع

https://en.wikipedia.org/wiki/Linear_multistep_method