رسم صفحه فاز با pplane در متلب + آموزش ویدئویی
- Mojtaba
- 25 اسفند 1398
- 19:54
- آموزش متلب
همواره با سختیهای حل معادله دیفرانسیل مواجه بودهایم. مطالعه این مطلب دیدی هندسی به معادلات دیفرانسیل به شما میدهد. که بدون حل آن، بتوانید رفتار سیستم را مشخص کنید. این پست آموزشیِ متلب تنها یکی از سری مقالات آموزش « دستورات رسم نمودار در متلب » است. در این مطلب قصد معرفی و آموزش رسم صفحه فاز با pplane متلب را داریم. ابتدا با اینکه صفحه فاز چیست و چه کاربردهایی دارد شروع کرده و سپس به آموزش pplane متلب میپردازیم. این آموزش بطور کامل بصورت ویدئویی نیز ارائه شده است. با ما همراه باشید.
آموزش ویدئویی رسم صفحه فاز
برای رسم صفحه فاز در متلب به کد pplane احتیاج داریم. این کد را رایگان از لینک زیر دانلود کنید.
صفحه فاز چیست؟
صفحه فاز (Phase Plane) نمایش گرافیکی و کیفی ویژگیهای معادله دیفرانسیل است. از صفحه فاز اطلاعات مهمی از جمله نحوه رفتار سیستم، نقاط تعادل، پایداری و ناپایداری و… بدست میآید. در واقع به کمک صفحه فاز، رفتار کیفی معادله دیفرانسیل بدون اینکه آن را حل کنیم، مشخص میشود. مخصوصاً در سیستمهای غیرخطی، که معادلات غیرخطی میباشند، رسم صفحه فاز بسیار کاربردی است. صفحه فاز صفحه مختصاتی است که از دو محور عمود برهم (مانند مختصات کارتزین) تشکیل شده است. محور افقی در صفحه فاز، متغیر معادله دیفرانسیل، و محور عمودی مشتق مرتبه اول آن میباشد. مثلا در سیستمهای دینامیکی، محور افقی، مکان و محور عمودی سرعت میباشد. بنابراین باتوجه به نموداری که در این صفحه رسم میشود نحوه رفتار سیستم مشخص خواهد شد.
توجه داشته باشید که صفحه فاز را برای معادلات دیفرانسیل آتانِمِس (Autonomous) رسم میکنیم. سیستم آتانمس سیستمی است که در آن متغیر مستقل بصورت صریح ظاهر نشدهاست. در واقع در صفحه فاز، ترجکتوری (ترژکتوری، مسیر) هایی که براساس شرایط اولیه معادله دیفرانسیل ایجاد میشوند، بصورت کیفی رسم میشود.
برای رسم صفحه فاز سیستمی که متغیر مستقل بصورت صریح ظاهر شده، به کتاب معرفیشده در انتها مراجعه نمائید.
نحوه رسم صفحه فاز
با توجه به پیچیدگیهای معادلات دیفرانسیل، اغلب رسم صفحه فاز با دست کار آسانی نیست. البته شماتیکی از آن را به راحتی میتوان با دست کشید. اما بهترین ابزار برای رسم صفحه فاز، pplane میباشد. pplane بصورت برنامه در نرم افزار متلب اجرا میشود. با استفاده از pplane به راحتی میتوانید رفتار کیفی پیچیده ترین معادلات دیفرانسیل را مشاهده کنید. اولین مرحله برای رسم صفحه فاز، کاهش مرتبه معادله دیفرانسیل میباشد. با این کار یک معادله دیفرانسیل مرتبه دوم را به دو معادله مرتبه اول تبدیل میکنیم. مرحله بعد رسم صفحه فاز براساس دو معادله میباشد. اگر با دست صفحه فاز را رسم میکنید، از عدد گذاری استفاده کرده و شکل کلی را بدست آورید. و اگر از pplane برای این کار استفاده میکنید، کافیست دو معادله را در فیلدهای مربوطه وارد کنید.
کاهش مرتبه معادله دیفرانسیل
یک معادله دیفرانسیل خطی که بسیار رایج است را در نظر میگیریم. معادله دیفرانسیل حرکت یک جرم و فنر ساده بصورت زیر است.
در معادله (1) m جرم و k سختی فنر بوده و از هرگونه اصطکاک صرف نظر میکنیم. قبل از اینکه معادله را حل کنیم به این سوال پاسخ دهید. با توجه به درک خود از این سیستم، اگر کمی گاری را از نقطه تعادل جابجا کنیم چه میشود. قبول دارید که با این جابجایی، جرم شروع به حرکت به عقب جلو میکند. دقیقا همین است و جرم شروع به حرکت نوسانی و تکراری میکند. از طرفی چون هیچگونه اصطکاکی نداریم، این حرکت همینطور ادامه پیدا میکند. خب حالا به سراغ رسم صفحه فاز میرویم. برای این کار، ابتدا درجه معادلات را کاهش داده و دو معادله مرتبه یک خواهیم داشت.
معادلات دیفرانسیل معمولی، به اختصار ODE، را به روشهای عددیِ مختلفی همچون سری تیلور، رانگ-کوتا، اولر، میلن و … میتوان در متلب حل نمود. شما میتوانید برای تسلط به حل این نوع معادلات در متلب و دانلود همه این کدهای عددیِ حل معادله دیفرانسیل، به صفحه « کد عددی حل معادله دیفرانسیل در متلب » مراجعه نمایید.
رسم دستی صفحه فاز
حال اگر دستگاه مختصاتی درنظر بگیریم که محور افقی آن X1 و محور عمودی آن X2 باشد. با رسم معادلات فوق، شکل کیفی پاسخ معادله دیفرانسیل مشاهده میشود. برای راحتی، نقاط خاص را انتخاب کنید. مثلا نقطه (0و1) را درنظر بگیرید. اگر این نقطه را جایگذاری کنیم، یک بردار عمودی منفی (پایین سو) بدست میآید. با انتخاب چند نقطه دیگر و تکمیل صفحه فاز خواهیم داشت:
حال به نمودار فوق دقت کنید. چند بیضی داریم که مانند یک حلقه رفتار سیستم را مشخص میکنند. با این نمودار مشخص میشود که اگر جرم را از تعادل جابجا کنیم، یک حلقه تکراری شکل میگیرد. حلقههای بزرگتر هم، همین رفتار را دارند. مثلا اگر جرم را 1 سانتی متر و یا آن را 2 سانتی متر جابجا کنیم. هر جابجایی اولیهای به سیستم، یک رفتار تکراری در پی دارد. بنابراین با رسم صفحه فاز، رفتار کیفی سیستم مشخص میشود.
رسم صفحه فاز با متلب
ابتدا باید pplane را در نرم افزار متلب باز کنید. در هنگام اجرای pplane با صفحه زیر مواجه میشوید.
برای رسم کافیست معادلات بدست آمده را در فیلدهای مشخص شده در شکل فوق وارد کرده و اجرا را بزنید. مثلا برای رسم مثال قبل، بایستی بصورت زیر عمل کنیم.
نتیجه بصورت زیر خواهد بود.
برای مشاهده خطوط آبی رنگ، کافیست روی صفحه کلیک چپ کنید. اگر به شکل فوق دقت نمائید، جهت حرکت نیز با پیکان مشخص شده است. نقطه (0و0) نقطه تعادل این سیستم است و این موضوع در شکل فوق به خوبی دیده میشود. چرا که کلیه حلقهها، حول این نقطه، حرکت میکنند. در شکل فوق، ترجکتوری های مختلف رفتار کیفی سیستم را نشان میدهند. مشاهده میشود که رفتار یکسان است و فقط شعاع دایرهها افزایش یافته.
نمونه معادله دیفرانسیل غیرخطی
مثالی که از جرم و فنر حل شد، مثالی از معادله دیفرانسیل خطی بود. حال یک معادله دیفرانسیل غیرخطی درنظر میگیریم. یکی از خواصی که سیستمهای غیرخطی دارند، وجود چند نقطه تعادل میباشد. در مثال فوق که سیستم خطی بود، فقط یک نقطه یعنی (0و0) داشتیم. برای مثال از معادله غیرخطی، معادله بسیار معروف دافینگ را درنظر میگیریم. این معادله همان حرکت جرم و فنر است که فنر غیرخطی میباشد. یکی از حالتهایی که این معادله میتواند داشته باشد، در زیر آمده است.
اگر برای اپسیلون یک عدد منفی و کوچک درنظرگرفته و صفحه فاز را رسم کنیم، شکل زیر بدست میآید.
شکل فوق اطلاعات بسیار مهمی را در اختیار ما میگذارد و این درحالی است که هنوز معادله را حل نکردهایم. گاهی حل تحلیلی و نیمه تحلیل معادله دیفرانسیل غیرممکن است. به همین دلیل صفحه فاز یک ابزار بسیار عالی برای شناخت کیفی سیستم میباشد. اطلاعاتی که شکل فوق در اختیار ما میگذارد خارج از این بحث است اما اشارهای به آن میکنیم. در این شکل 3 نقطه که با سایر نقاط تفاوت دارند دیده میشود. نقطه مرکز (0و0)، نقطهای در حدود (0و3) و قرینه آن یعنی (0و3-). به خاطر دارید که محور افقی، متغیر اصلی بود یعنی متغیر مکان (x). همچنین به جهت پیکانهای رسم شده دقت داشته باشید. اگر تغییر مکانی کوچکتر از 3 داشته باشیم، سیستم یک حلقه تکراری را تجربه میکند. اما اگر بیشتر از 3 واحد تغییر مکان داشته باشیم، سیستم ناپایدار میشود.
برای مثال بیشتر، شکل زیر را درنظر بگیرید. این منحنی، صفحه فاز یک پاندول را نشان میدهد. در برخی زوایا، حرکت پریودیک و دربرخی پاسخ ناپایدار داریم. سعی کنید صفخه فاز آن را رسم کنید.
جمعبندی
در این مطلب سعی شد تا درباره کابرد و چیستی صفحه فاز با pplane آموزشی کامل ارائه گردد. رسم صفحه فاز برای مطالعه و بررسی کیفی معادلات دیفرانسیل، بدون حل امری بسیار ضروری است. امیدوارم که دید هندسی خوبی نسبت به معادلات دیفرانسیل پیدا کرده باشید. محتوای این مطلب از کتاب دینامیک غیرخطی و آشوب (Nonlinear Dynamics and Chaos) تهیه شده است. جزئیات بیشتر درباره سیستمهای دینامیکی را در آن پیدا میکنید.
این مقاله از سری آموزشهای رایگان متلب وبلاگ گام98 میباشد. برای مشاهده مقالات آموزشی بیشتر برروی آموزش matlab کلیک کنید.
این مقاله آموزشی به کوشش تیم تولید محتوای علمی گام98 در راستای ارتقای دانش و استفاده از آن نوشته شده است. درصورتی مفید بودن این مطلب آن را برای دوستان خود به اشتراک بذارید.
مطالب زیر را حتما مطالعه کنید
کار با بردارها در متلب
آموزش کامل انواع دستورات توزیعهای آماری در متلب
در این مقاله قصد داریم انواع دستورات مهم توزیع های آماری در متلب را به همراه رسم انواع توزیعها و برازش با استفاده از توزیع های آماری بیان نماییم.
آموزش صفر تا 100 تحلیل المان میله به روش اجزا محدود
در ادامه دومین سری از آموزشهای روش المان محدود در این مقاله تحلیل المان میله به روش اجزا محدود را همراه با مثال به طور صفر تا صدی آموزش خواهیم داد.
آموزش جامع و کامل تحلیل المان فنر به روش اجزا محدود
در اولین مجموعه از مقالات آموزشی روش اجزا محدود، آموزش جامع و کامل تحلیل المان فنر به روش المان محدود را همراه با مثال برای شما عزیزان بیان خواهیم کرد.
روش اجزا محدود – Finite Element Method
روش اجزا محدود یک روش عددی برای حل مسائل مهندسی و فیزیکی میباشد. در این مقاله به طورکلی با کاربرد، تاریخچه و مراحل حل این روش آشنا خواهیم شد.
آموزش جامع انواع دستورات توزیع نرمال در متلب
در این مقاله انواع دستورات توزیع نرمال در متلب را به شما آموزش میدهیم.همچنین نحوه کار با توزیع های نرمال تک متغیره و چند متغیره را با جزئیات خواهید آموخت.
12 دیدگاه
به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.
سلام با اجرای برنامه pplane یه خطا
function output = pplane6(action,input1,input2,input3)
↑
Error: Function definitions are not permitted in this context
دارم!
با سلام و احترام،
چنانچه پس از هشدار پنجرهی pplane باز میشود این هشدارها مهم نیست. چراکه این کد قابلیتهای دیگری نیز دارد. اما اگر کاملاً خطا داده و برنامه اجرا نمیشود، به احتمال زیاد مشکل از نصب ناقص نرم افزار متلب روی سیستم تون هستش. ممکنه هنگام نصب تیک برخی از گزینه ها را برداشته باشید و به همین دلیل هنگام فراخوانی دستورات مختلف با خطا مواجه شوید. لطفا از نصب بودن پکیج کامل متلب (کانفیگ کامل) اطمینان حاصل کنید.
موفق باشید!
دانلود نمیشه
با سلام و احترام،
لطفا از این لینک استفاده کنید. روش دانلود به این صورته که محصول (رایگان) رو به سبد خرید اضافه کنید و سفارش رو ثبت کنید. بلافاصله لینک دانلود برای شما نمایش داده خواهد شد.
دمتون گرم واقعا عالیه
با سلام و احترام،
باعث افتخاره که از این آموزش راضی بودید!
موفق باشید.
در متلب 2020 ارور زیر میاد :
Error using uimenu
Unrecognized property call for class Menu.
Error in pplane6 (line 908)
meload = uimenu(mefile,’label’,’Load a system …’,…
Error in pplane6 (line 53)
eval(startstr);return
با سلام و احترام.
در فایل دانلودی، دو نسخه از pplane وجود دارد. pplane6 و pplane9، که در نسخه های جدید نرم افزار متلب بایستی نسخه pplane9 را اجرا نمائید.
موفق باشید!
سلام و عرض خسته نباشید خدمت شما،
من وقتی ران میکنم تابع pplane9 رو، با این چنین اروری مواجه میشم:
Error using uimenu
There is no call property on the Menu class.
Error in pplane9 (line 908)
meload = uimenu(mefile,’label’,’Load a system …’,…
ایراد کجاست؟ میشه راهنمایی بفرمایید؟
مرسی از شما.
با سلام و احترام،
1) در فایل دانلودی، دو نسخه از pplane وجود دارد. pplane6 و pplane9، اگر از نسخه های قدیمی نرم افزار متلب استفاده می کنید (مثل 2013، 2014 و…) بایستی نسخه pplane6 را اجرا نمائید. همچنین نسخه pplane9 برای نسخه های جدید نرم افزار متلب ارائه شده است.
2) اگر در روش 1 مشکل رفع نشد، به احتمال زیاد مشکل از نصب ناقص نرم افزار متلب روی سیستم تون هستش. ممکنه هنگام نصب تیک برخی از گزینه ها را برداشته باشید و به همین دلیل هنگام فراخوانی دستورات مختلف با خطا مواجه شوید. لطفا از نصب بودن پکیج کامل متلب (کانفیگ کامل) اطمینان حاصل کنید.
موفق باشید!
سلام
در نسخه 2023b ارور زیر را میدهد:
Error using uimenu
Unrecognized property call for class Menu.
Error in pplane9 (line 908)
meload = uimenu(mefile,’label’,’Load a system …’,…
لطفا راهنمایی کنید
با تشکر
با درود فراوان
از سایت متلب نسخه بروز آن را دریافت کنید.