توسعه دهنده نرم افزار اوران ، ورود

آموزش شبیه سازی در محیط سیمولینک (Simulink) متلب (MATLAB) – قسمت اول

  • حل معادلات دیفرانسیل با سیمولینک (Simulink) - قسمت اول
  • نظرات

آموزش محیط شبیه سازی سیمولینک متلب (Simulink) – قسمت اول – حل معادلات دیفرانسیل با سیمولینک

مبحث جلسه اول – حل معادلات دیفرانسیل مرتبه اول با شبیه سازی در محیط سیمولینک متلب

در این جلسه قصد داریم معادله دیفرانسیل مرتبه اول را توسط شبیه سازی در محیط سیمولینک حل کنیم. برای این منظور با تایپ عبارت “simulink” در پنجره “command window” کتابخانه سیمولینک (Simulink Library Browser) باز می شود. در این کتابخانه جعبه ابزارهای متنوعی وجود دارد که ما در این دوره آموزش عمدتا از جعبه ابزار “simulink” استفاده می کنیم.

simulink-library-browser

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

differential-equation-1

قرار است که معادله دیفرانسیل بالا را توسط بلوک های سیمولینک شبیه سازی کنیم. برای ایجاد متغیر زمان t می توان از بلوک clock که از مسیر زیر قابل دسترسی است استفاده کرد:

Simulink Library Browser> simulink> Sources > clock

کافیست برای فراخوانی هر بلوک در محیط شبیه سازی بر روی آن کلیک راست کرده و گزینه “Add to a new Model” را انتخاب کنیم. با توجه به معادله توان دوم “t”را نیاز داریم؛ پس از بلوک “Product” که از مسیر زیر می توان آن را فراخوانی کرد این کار را انجام می دهیم:

Simulink Library Browser> simulink> Commonly Used Blocks > Product

sim-1

اما ما به معکوس توان نیاز داریم، برای این منظور از بلوک “fcn” از مسیر زیر استفاده می کنیم

Simulink Library Browser> simulink> User-Defined Functions > fcn

در واقع با استفاده از این بلوک ورودی “u”  که در این مثال “t^2” می باشد را به بلوک می دهیم و با تایپ معکوس “u” در قسمت “expression” داخل بلوک، خروجی  مورد  نظر را می سازیم.

sim-2

حال کافیست “y+3t” را تولید کرده و در معکوس “t^2” ضرب کنیم. برای تولید سیگنال “y” اولا واضح است که رابطه مشتق زمانی “y” و سیگنال “y” بصورت زیر است:

formula-1

کافیست از بلوک انتگرال گیر که از مسیر زیر فراخوانی می شود استفاده کنیم:

Simulink Library Browser> simulink> Commonly Used Blocks > Integrator

با کلیک بر روی بلوک می توان در قسمت “Initial condition” شرط اولیه “2-” را اعمال کرد. برای ساخت سیگنال “3t” کافیست در سر راه سیگنال “t” از بلوک “Gain” و برای جمع کردن سیگنال “y” و “3t” از بلوک “sum” استفاده می کنیم.

Simulink Library Browser> simulink> Commonly Used Blocks > Gain

Simulink Library Browser> simulink> Commonly Used Blocks > Sum

مدل نهایی شبیه سازی بصورت زیر نشان داده شده است.

sim-3

برای نمایش خروجی “y” بر حسب زمان کافیست از بلوک “Scope” استفاده کنیم

Simulink Library Browser> simulink> Commonly Used Blocks > Sinks

قبل از اجرای شبیه سازی توجه داشته باشید که قرار است معادله دیفرانسیل را در بازه زمانی 1 تا 4 ثانیه حل کنیم. برای زمان پایانی شبیه سازی به راحتی می توان از منوی بالای محیط شبیه سازی عدد 4 را وارد نمود.

sim-4

نکته مهم آن است که محیط شبیه سازی سیمولینک، به صورت پیش فرض از 0 ثانیه شروع می کند که اگر حواستان نباشد و شبیه سازی را اجرا کنید به دلیل وجود t^2 در مخرج معادله دیفرانسیل با خطای زیر روبرو می شویم:

block-error-1

برای اعمال زمان اولیه شبیه سازی کافیست از منوی بالای محیط شبیه سازی از مسیر “Simulation> Model Configuration Parameters” و یا با فشردن همزمان دکمه های “Cntr+E” پنجره “Model Configuration Parameters” را باز کرده و در قسمت “Start time” به جای 0 ثانیه عدد 1 را وارد کنیم.

figure-1

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

بیشتر بخوانید

  1. سلام
    پارامتر y_dot برابر با مشتق y میباشد ؛ نه انتگرال y

پاسخ دهید

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

2 × 3 =

Next

مقالات مرتبط