۵۶ بازدید
۱۳ فروردین ۱۳۹۷آموزشی
تصویر مطالب

در این آموزش قصد دارم نحوه حل عددی معادلات دیفرانسیل معمولی (ODE) رو توضیح بدم. به طور کلی این توضیحات به سه بخش تقسیم میشن:

بخش اول: آشنایی با روش های حل عددی و پیاده سازی آن ها به طور دستی

بخش دوم: پیاده سازی این روش ها به کمک کد نویسی در نرم افزار MATLAB و

بخش سوم:  استفاده از توابع آماده نرم افزار MATLAB برای حل معادلات دیفرانسیل معمولی


بخش اول: آشنایی با روش های حل عددی و پیاده سازی آن ها به طور دستی

در این بخش با ساده ترین روش حل عددی معادلات دیفرانسیل معمولی آشنا می شیم. قطعا روش های پیشرفته تر و البته کارآمد تری نیز وجود داره. اما هدف ما در این بخش صرفا آشنایی با اصول حل عددی معادلات دیفرانسیل هست.

معادله دیفرانسیل زیر رو در نظر بگیرید:


اگه از تعریف مشتق استفاده کنیم، می تونیم بنویسیم:

حالا اگه این تعریف رو در معادله اصلی قرار بدیم، داریم:


 در این مرحله فقط کافیه معادله بالا رو برای مقدار تابع در لحظه بعد، حل کنیم:


بنابراین الان می تونیم از روی مقدار تابع در لحظه صفر (شرط اولیه)، مقدار آن را در لحظه بعد (گام زمانی بعد) به دست بیاریم:


با تکرار این روند می تونیم، مقدار تابع رو در گام های بعدی هم پیدا کرد. مثلا:


روشی که در اینجا مطرح شد، روش اویلر (Euler method) هست. همان طور که قبلا هم گفتم، این روش ساده ترین و کم دقت ترین روش برای حل معادلات دیفرانسیل هست. اما به شکل ساده ای می تونه ایده اصلی حل عددی رو توضیح بده.