شبیهسازی با متلب
شبیهسازی با متلب چیست
شبیهسازی یا Simulation، راهی برای ایجاد یک نمایش مجازی از یک سیستم دنیای واقعی است که شامل نرمافزار میشود. بدینصورت اجزای نرمافزاری شبیهسازی توسط روابط ریاضی هدایت میشوند. مدلسازی به مخاطب این امکان را میدهد تا یک سیستم یا مدل واقعی را تحت طیف وسیعی از شرایط شبیهسازی کند تا بتواند چگونگی عملکرد آن را مشاهده نماید.
مدلسازی و شبیهسازی بهویژه برای شرایط آزمایشی (پرتاب ماهواره به فضا) که ممکن است بازتولید نمونههای اولیه دشوار باشد یا فرآیند طراحی نمونهها در دسترس نباشد، ارزشمند است. تکرار شبیهسازی میتواند کیفیت طراحی سیستم را در مراحل اولیه بهبود بخشد، در نتیجه تعداد خطاهای یافت شده درطی فرآیند تجربی یا واقعی کاهش مییابد.
متلب، یکی از بهترین نرمافزارها برای شبیهسازی است و کاربرد بسیاری در طیف گستردهای از علوم مهندسی دارد. منظور از شبیهسازی با متلب چیست؟ درواقع Matlab بههمراه ویرایشگر Simulink به شما کمک میکند تا رفتار یک سیستم را بهخوبی پیشبینی کنید. الگوهای مدل دارای پسوند .sltx هستند.
الگوهای مدل نقطه شروعی هستند که میتوانید از آنها برای اعمال رویکردهای مدلسازی رایج استفادهکنید. آنها به شما کمک میکنند تا از تنظیمات، مجددا استفاده کرده یا تنظیمات را مسدود کنید. شما میتوانید با کلیک بر روی دکمه Run در ویرایشگر Simulink یا وارد کردن دستورات شبیهسازی، به عنوان مثال، sim در Command Window یا یک فایل متلب، یک مدل را شبیهسازی کنید.
[box type=”info” align=”” class=”” width=””]ویدئو پیشنهادی : متلب[/box]
انواع شبیهسازی در متلب
نمایشهای رایج برای مدلهای سیستم شامل نمودارهای بلوکی (block diagrams)، شماتیکها (schematics) و نمودارهای حالت (state diagrams) است. نمودارهای بلوکی برای نمایش گرافیکی سیستمهای دینامیکی (پویا) قابل استفاده هستند. یک بلوک دیاگرام شامل بلوکهایی است که بخشهای مختلف یک سیستم را نشان میدهد و خطوط سیگنالی که رابطه بین بلوکها را مشخص میکند.
این نمودارها توسط مهندسان برای کنترل، پردازش سیگنال، ارتباطات و مکاترونیک استفاده میشود. مانند شکل زیر یک نمایش گرافیکی سطح بالا از سیستم های دنیای واقعی ارائه دهید. نوع دیگری از شبیهسازی در Matlab، استفاده از شماتیکها است. شبیهسازی مدارهای الکترونیکی رایجترین مدل شماتیکها هستند که یک ابزار تجزیهوتحلیل ارزشمند است.
دسته سوم از مدلهای شبیهسازی، نمودار حالت است که به وضوح طراحی نرم افزار پیچیده را در قالب گرافیکی سادهشده بایکدیگر ارتباط میدهد. نمودار حالت، نمایش گرافیکی تعداد محدود حالتها، انتقالهای حالت و قوانین حاکم بر آنها است. درچنین نمواری، جعبهها حالتهای مختلف عملکرد را نشان میدهند و فلشها بیانکننده انتقال از یک حالت به حالت دیگر هستند.
[box type=”info” align=”” class=”” width=””]مقاله پیشنهادی: رادیکال در متلب[/box]
چگونه در متلب شبیهسازی انجام دهیم؟
شبیهسازی در متلب نیازمند یکسری دستورات و ترتیبهای عملیاتی است. درابتدا میخواهیم یک مدل طراحی کنیم:
– در نوارابزار MATLAB، به قسمت تب Home بروید، سپس برروی ویرایشگر Simulink کلیک کنید.
– در این نوارابزار در تب Simulation، Open را انتخابکنید و روی Recent Files کلیککنید تا فایلهای اخیر بازشود.
– در صفحه شروع Simulink®، یک الگو را انتخاب یا الگوها را جستوجوکنید. اگر قالبهای داخلی نیازهای شما را برآورده نمیکنند، سعی کنید در تب Examples جستجو کنید یا الگوهای خود را ایجاد کنید.
– پس از انتخاب قالب مورد نظر، روی Create Model کلیک کنید؛ بدینترتیب یک مدل جدید شامل تنظیمات قالب و محتویات در ویرایشگر Simulink باز میشود.
این مدل با تنظیمات پیکربندی و بلوکهای موردنظر شما ایجاد میشود که قابلیت تبدیلشدن به یک الگو را دارد. برای استفاده مجدد از این تنظیمات در هر مدل جدید، بااستفاده از صفحه شروع Simulink یا تابع Simulink.defaultModelTemplate الگوی جدید را الگوی مدل پیشفرض خود قرار دهید. سپس روی فلش رو به پایین در کنار Create Model کلیک کنید و Set As Default را انتخاب کنید.
بعد از اینکه یک الگوی مدل پیشفرض را تنظیم کردید، هر مدل جدید از آن الگو استفاده میکند. برای مثال، وقتی Ctrl+N را فشار میدهید یا زمانی که از new_system استفاده میکنید، زمانی که در تب Simulation، New را انتخاب میکنید، الگوی پیشفرض شما در بالای لیست ظاهر می شود. الگوی پیشفرض، یک علامت تیک در صفحه شروع نشان میدهد.
[box type=”info” align=”” class=”” width=””]مقاله پیشنهادی:مشتق و انتگرال در متلب[/box]
بارگذاری متغیرها هنگام بازکردن یک مدل
زمانی که مدل میسازید، گاهی اوقات متغیرهایی را برای یک مدل تعریف میکنید. در اینگونه مواقع، لازم است متغیرها بارگذاری شوند. به عنوان مثال، فرض کنید که شما یک مدل دارید که حاوی بلوک Gain است. شما میتوانید به جای تعیین مقدار روی بلوک، مقدار K را بهعنوان متغیر تعیین و بارگذاری کنید.
وقتی از این روش استفاده میکنید، باید متغیر K را برای شبیهسازی تعریف کنید. همچنین هنگام بازکردن یک مدل برای شبیهسازی میتوانید از یک مدل برگشتی مجزا برای بارگیری متغیرها استفاده کنید.
– در مدلی که از بلوک Gain استفاده میکند، مقدار بلوک Gain را روی K قرار دهید.
– متغیر را در اسکریپت متلب تعریف کنید. در متلب، New > Script را انتخاب کنید. در اسکریپت، تعاریف متغیر خود را وارد کنید؛ بهعنوان مثال: K=27
– اسکریپت را بهعنوان loadvar.m ذخیره کنید.
– در مدل، Property Inspector را باز کنید. در تب Modeling، در قسمت Design، روی Property Inspector کلیک کنید.
– در سطح بالای یک مدل، روی یک فضای خالی در بوم ویرایشگر Simulink کلیک کنید تا مطمئن شوید هیچ چیزی انتخاب نشده است.
– در تب Properties، در بخش Callbacks، PreLoadFcn را انتخاب کرده و loadvar را وارد کنید.
– مدل را ذخیره کنید.
دفعه بعد که مدل را باز میکنید، پاسخ تماس PreLoadFcn متغیرها را در محیط WorkSpace متلب بارگذاری میکند. همچنین میتوانید بهجای Property Inspector از کادر Model Properties استفاده کنید. در تب Modeling، روی تنظیمات مدل > ویژگیهای مدل کلیک کنید.
[box type=”info” align=”” class=”” width=””]مقاله پیشنهادی:معکوس ماتریس در متلب[/box]
شبیهسازی خطوط انتقال با متلب
خطوط انتقال یا Transmission Lines، کابلهای تخصصی یا ساختارهای دیگری هستند که در مهندسی برق کاربرد گستردهای دارند. قابلیت شبیهسازی این خطوط در Matlab بااستفاده از بلوک خط انتقال وجود دارد؛ بدینشکل که یک بلوک، خط انتقال توصیفشده را از نظر پارامترهای فیزیکی آن مدل میکند.
خط انتقالی که میخواهید شبیهسازی کنید، بهعنوان یک شبکه خطی دو پورت درنظر گرفتهمیشود. این بلوک شما را قادر میسازد تا خط انتقال را بهصورت یک خط کوتاه یا یک خط بدون پایه مدلسازیکنید. درحقیقت خطوط انتقال درحالتهای مختلفی قابل شبیهسازی است و میتواند بهصورت کوتاه (short line) یا بلند (long line) مدلسازی شود.
در محیط نرمافزار متلب، برای نشاندادن خطوط انتقال از دستور txline استفاده شدهاست. بهعنوان مثال، یک مدار الکتریکی را درنظربگیرید؛ با تعریف این مدار بهصورت h = rfckt.txline میتوانید خطوط انتقال آن را شبیهسازی کنید. در ادامه، کد دستوری بهشکل (نام، مقدار) h =rfckt.txline، یک شی خط انتقال را برمیگرداند که ویژگیهای آن روی مقادیر پیشفرض تنظیم شدهاند.
شبیهسازی دادهها در متلب
شبیهسازی در متلب شامل دادهها نیز میشود؛ بدینصورت که کاربر میتواند دادههای خود را بهعنوان ورودی ایجاد کند، سپس بااستفاده از یک مدل برای ایجاد دادههای خروجی استفاده کند. بسته به نوع مدلی که برای تولید خروجی قرار میگیرد، ضرایب متغیر یا ثابتی تعیینشدهاست.
توجه داشتهباشید شبیهسازی دادههای خروجی مستلزم داشتن مدلی با ضرایب شناخته شده است. مدلها معمولا براساس روابط ریاضی انتخاب میشوند. برای ایجاد دادههای ورودی میتوان از idinput برای ساخت یک سیگنال با ویژگیهای مورد نظر، مانند سیگنال تصادفی گاوسی یا باینری یا سینوسی استفاده کرد.
درحقیقت idinput ماتریسی از مقادیر ورودی را برمیگرداند. جدول زیر شامل دستوراتی است که برای شبیهسازی دادههای خروجی قابلاستفاده هستند. دستور sim، نوع دیگری از تشکیل ورودی برای شبیهسازی داده است که میتوان به آن اشارهکرد. متلب در این دستور، دادههای پاسخ را براساس مدل پارامتری خطی یا غیرخطی موجود دربخش Workspace شبیهسازی میکند.