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

حل معادلات دیفرانسیل در متلب از مباحث اصلی و مهم به شمار می رود. تقریبا در بیشتر پروژه های متلب ردپایی از معادلات دیفرانسیل دیده می شود. بنابراین این مقوله در یک دوره آموزش متلب باید به طور کامل تشریح و توضیح داده شود. البته این نکته را نیز در نظر داشته باشید که یادگیری متلب بدون تسلط نسبی بر مفاهیم ریاضی امری ناممکن است.

شکل ۱ حل معادلات دیفرانسیل در متلب

به عنوان مثال اگر شما هیچ گونه آشنایی با انواع معادلات دیفرانسیل و روش های حل آنها نداشته باشید. طبیعتا پیاده سازی آنها با زبان برنامه نویسی متلب نیز برایتان دشوار خواهد بود. پس اگر می خواهید دوره آموزش متلب را به خوبی پشت سر بگذارید، باید مطالعه و تمرین کافی داشته باشید.

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

آشنایی مقدماتی با انواع معادلات دیفرانسیل

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

شکل ۲ ساختار برنامه حل یک معادله دیفرانسیل غیر خطی مرتبه اول با شرط اولیه

حل معادلات دیفرانسیل در متلب نیز مبتنی بر روش های حل ریاضی مانند فاکتور انتگرال، معادلات همگن، لاپلاس، سری ها و … است. با این تفاوت که در زبان برنامه نویسی متلب توابع تعریف شده اند و تمامی کارها را برای ما انجام می دهند. بنابراین به نظر می رسد حل یک معادله دیفرانسیل در متلب نسبت به حالت دستی ساده تر است.!

حل معادلات دیفرانسیل در متلب

به طور کلی  معادلات دیفرانسیل در متلب (چه با شرط اولیه چه بدون شرط) با استفاده از دستور dsolve حل می شوند. این تابع برای هر معادله از هر مرتبه ای کاربرد دارد. فقط نوع بیان هر معادله متفاوت است. به عنوان مثال می خواهید یک معادله دیفرانسیل خطی مرتبه اول به فرم  را حل کنید. در ابتدا باید با دستور syms تابع y(t) را به صورت نمادین معرفی کنید.

در ادامه برای حل معادلات دیفرانسیل در متلب باید با استفاده از عملگر == و دستور diff معادله را به زبان برنامه نویسی متلب عنوان کنید. در پایان با استفاده از دستور dsolve از برنامه بخواهید که پاسخ معادله را به صورت تابع y(t) محاسبه کنید.

چنان چه معادله خطی مرتبه دوم نیز باشد روال حل معادلات دیفرانسیل در متلب باز هم به همین منوال است. فقط بعد از syms عبارت Dy = diff(y) را نیز تعریف کنید تا برنامه مشتق مرتبه دوم موجود در معادله را نیز بشناسد. اگر چنان چه معادله دیفرانسیل در متلب دارای شرایط اولیه باشد، آنگاه شرایط باید با استفاده از cond در بدنه برنامه ذکر شوند.

شکل ۳ شکل کلی بیان یک سیستم معادلات دیفرانسیل در متلب

یک معادله مرتبه دو یا بیشتر ممکن است چندین شرط اولیه داشته باشد. در اینصورت از cond1، cond2 و … برای بیان شرایط استفاده می شود. دستور dsolve و سایر دستورات برای حل معادلات غیرخطی نیز کاربرد دارند. حتی تابع dsolve برای حل یک دستگاه معادلات دیفرانسیل در متلب نیز مورد استفاده قرار می گیرد. به نظر می رسد این تابع از هر نظر کامل است.

منابع:

https://www.mathworks.com/help/symbolic/dsolve.html

https://www.mathworks.com/help/symbolic/solve-a-single-differential-equation.html

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

این فیلد را پر کنید
این فیلد را پر کنید
لطفاً یک نشانی ایمیل معتبر بنویسید.
برای ادامه، شما باید با قوانین موافقت کنید

1 × 5 =

فهرست
WeCreativez WhatsApp Support
ساعت کاری 8 صبح الی 21 شب می باشد و از طریق شماره 09108760286 می توانید با ما در ارتباط باشید.
👋 سلام، چطور میتونم به شما کمک کنم؟