فراخوانی داده ها در متلب

در اغلب برنامه های کاربردی نیاز است تا از داده هایی به عنوان منبع / source استفاده کنیم. داده های اولیه ممکن است در خود تابع یا سیمولینک تولید شده و سپس مورد استفاده قرار گیرند. ولی گاهی این داده ها از بیرون متلب به برنامه شبیه سازی انتقال می یابد. به این منظور نیاز است تا یک سری عملیاتی تحت عنوان دستور در محیط کدنویسی (تابع یا اسکریپت) و یا برخی بلوک ها که وظیفه فراخوانی داده ها را دارند، در محیط سیمولینک استفاده کنیم.

فراخوانی داده ها در محیط سیمولینک

مهم ترین بلوک های فراخوانی داده در محیط سیمولینک در کتابخانه با آدرس Simulink/sources قرار دارند. شکل زیر بلوک های موجود در این کتابخانه را نمایش می دهد.

شکل 1 نگاهی مختصر به بلوک های موجود در کتابخانه simulink soures 300x205 فراخوانی داده ها از ورک اسپیس متلب (workspace) در سیمولینک ، تابع و اسکریپت

شکل 1 ) نگاهی مختصر به بلوک های موجود در کتابخانه simulink -soures

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

اما آنچه برای ما هم است بلوک from workspace می باشد. این بلوک به عنوان فراخوان داده از محیط ورک اسپیس متلب عمل می کند. البته بایستی این داده ، یک داده استاندارد در محیط متلب باشد. داده های استاندارد برای متلب می تواند بصورت زیر باشد :

  • داده هایی که در محیط خود متلب توسط برنامه ای دیگر تولید شده و ذخیره شده اند.
  • داده هایی که بصورت استاندارد تشکیل می شوند نظیر داده آرایه ای که می توان آن را با استفاده از نرم افزار excel ساخت .
  • داده هایی که توسط سیستم های نرم افزاری یا سخت افزاری دیگری تولید می شوند که قابل خواندن توسط متلب می باشند. اینکه داده ای در ساختار متلب خوانده می شود یا نه را می توان با درگ فایل داده مورد نظر در محیط ورک اسپیس متلب ارزیابی کرد. چنانچه داده مورد نظر پس از درگ در ورک اسپیس شناسایی شود این داده می تواند مورد استفاده قرار گیرد.

نگاهی بر بلوک from workspace

می توان در یک جمله بیان کرد که وظیفه این بلوک لود کردن داده ها از ورک اسپیس متلب (workspace) به مدل سیمولینک می باشد. شکل زیر نمای این بلوک را نمایش می دهد .

شکل 2 نمایی از بلوک from workspace از کتابخانه متلب سیمولینک فراخوانی داده ها از ورک اسپیس متلب (workspace) در سیمولینک ، تابع و اسکریپت

شکل 2 ) نمایی از بلوک from workspace از کتابخانه متلب سیمولینک

پس از درگ (انتقال) این بلوک به داخل سیمولنک خود می توانید از آن به عنوان یک ورودی استفاده کنید. این ورودی می تواند در ساختار شبکه های عصبیی ، عصبی فازی و یا شبیه سازی های متداول مورد استفاده قرار گیرد.

به طور کلی بلوک From Workspace داده ها را در یک مدل Simulink® از یک فضای کاری می خواند و داده ها را به عنوان یک سیگنال یا یک گذرگاه غیر مجازی در خروجی بلوک ارائه می دهد. می توانید داده ها را از فضای کار پایه، فضای کاری مدل یا فضای کاری ماسک بارگیری کنید. می‌توانید از بلوک From Workspace برای بارگذاری داده‌های سیگنال در هر مدل یا زیرسیستم در سلسله مراتب مدل از فضای کاری قابل دسترسی به مدل یا زیرسیستم مرجع استفاده کنید.

شما می توانید مشخص کنید که بلوک چگونه خروجی را از داده های فضای کاری، از جمله دوره نمونه گیری خروجی، رفتار درون یابی و برون یابی، و اینکه آیا از تشخیص تلاقی صفر استفاده شود یا خیر !

نماد بلوک From Workspace مقدار پارامتر Data را نشان می دهد. به عنوان مثال، اگر از بلوک From Workspace برای بارگیری داده ها در متغیر x استفاده می کنید، x را به عنوان مقدار پارامتر Data تعیین می کنید و شماتیک بلوک x را نمایش می دهد.

داده مورد نظر برای بارگذاری را مشخص کنید .

داده ها را برای بلوک From Workspace برای بارگیری با استفاده از پارامتر Data مشخص کنید. می توانید مقدار پارامتر Data را به عنوان عبارت MATLAB®، مانند نام متغیر، تعیین کنید. عبارت در پارامتر Data باید به داده ها در قالبی ارزیابی شود که بلوک From Workspace از آن پشتیبانی می کند. به طور مشخص این بلوک نمی تواند هر داده ای را به داخل سیمولینک لود کند.

خروجی بلوک from workspace

داده های بارگیری شده از فضای کاری، در خروجی بلوک به عنوان سیگنال یا گذرگاه غیرمجازی ارائه می شود. بسته به داده هایی که بارگیری می کنید، سیگنال خروجی ممکن است یک سیگنال اسکالر، برداری، چند بعدی یا با اندازه متغیر، یک گذرگاه یا مجموعه ای از گذرگاه ها باشد. بلوک From Workspace از بارگیری داده های واقعی و پیچیده همه انواع داده های داخلی به جز int64 و uint64 پشتیبانی می کند.

پارامترها

داده‌هایی که باید از فضای کاری بارگیری شوند، به‌عنوان نام متغیر یا عبارت MATLAB مشخص شده‌اند که به صورت داده‌ها در قالبی که توسط بلوک From Workspace پشتیبانی می‌شوند، ارزیابی می‌شود. این عبارت می‌تواند داده‌هایی را ایجاد کند که بلوک From Workspace در خروجی خود ارائه می‌کند، یا می‌تواند به یک متغیر فضای کاری اشاره کند که حاوی داده‌هایی برای بارگیری است.

بلوک From Workspace می‌تواند داده‌ها را برای سیگنال‌های اسکالر، چند بعدی و با اندازه متغیر و همچنین داده‌های یک باس یا آرایه‌ای از باس ها را بارگیری کند. بلوک From Workspace از بارگیری داده ها در این قالب ها پشتیبانی می کند:

  • ساختار timeseries
  • timetable تنها با یک ستون و مقادیر زمانی که به عنوان بردار مدت زمان تعریف شده است.
  • Simulink.SimulationData.Signal
  • ساختاری که داده های باس را نشان می دهد. سلسله مراتب ساختار باید با سلسله مراتب باس مطابقت داشته باشد و از سری های زمانی و اشیاء جدول زمانی برای نمایش داده های سیگنال استفاده کند.
  • ساختاری که داده‌ها را برای یک سیگنال واحد، با فیلدها و سلسله مراتبی که با ساختار یا ساختار با فرمت ثبت زمان مطابقت دارد، نشان می‌دهد.
  • آرایه دو بعدی که داده های یک سیگنال واحد را نشان می دهد. ستون اول در آرایه نشان دهنده زمان و یک یا چند ستون اضافی حاوی داده های سیگنال است.

سیگنال های واقعی از نوع double می توانند در هر قالب داده ای باشند که بلوک From Workspace پشتیبانی می کند. برای سیگنال های پیچیده و سیگنال های واقعی از نوع داده ای غیر از double، از هر فرمتی به جز Array استفاده کنید.

بلوک From Workspace از بارگیری داده های سیگنال با اندازه متغیر در ساختار یا ساختار با فرمت های زمانی پشتیبانی می کند.

زمان نمونه برداری / Sample time

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

زمانی که نمی‌خواهید خروجی دارای افست زمانی باشد، پارامتر Sample time را به عنوان یک اسکالر مشخص کنید. برای افزودن یک افست زمانی به خروجی، پارامتر Sample time را به صورت یک بردار 1 در 2 مشخص کنید که عنصر اول دوره نمونه برداری و عنصر دوم فاصله است.

به‌طور پیش‌فرض، مقدار پارامتر Sample time  صفر است که نشان‌دهنده زمان نمونه‌گیری پیوسته بدون تغییر زمانی است. برای یک سیگنال گسسته، Sample time را به عنوان بازه نمونه برداری گسسته مشخص کنید. برای مثال، زمان نمونه‌برداری را 0.1 برای مدل‌سازی یک سیگنال گسسته که هر 100 میلی‌ثانیه نمونه برداری می‌شود، مشخص کنید. برای کاربردهای معمول شبیه سازی همواره  مقدارSample time را به صورت   -1 تعیین کنید.

روش درون یابی

روش درون یابی برای ارائه مقادیر خروجی برای زمان های شبیه سازی که در بین مقادیر زمانی در داده های فضای کاری بارگذاری شده هستند استفاده می شود. هنگامی که Interpolate data را انتخاب می کنید، بلوک From Workspace به صورت خطی یک مقدار خروجی را با استفاده از مقادیر مجاور در داده های فضای کاری بارگذاری شده درون یابی می کند. وقتی Interpolate data انتخاب نشده باشد، بلوک From Workspace مقدار نقطه داده قبلی را در داده های فضای کاری بارگذاری شده ارائه می دهد.

هنگامی که داده های سیگنال شمارش شده، نقطه ثابت یا اندازه متغیر را بارگیری می کنید، پارامتر داده Interpolate را پاک کنید.

برای ارائه مقادیر خروجی بعد از آخرین مقدار در داده های فضای کاری بارگذاری شده، بلوک From Workspace از ترکیبی از پارامتر داده Interpolate و خروجی Form بعد از مقدار داده نهایی به پارامتر استفاده می کند.

مقدار پارامتر داده Interpolate همچنین بر نحوه برونیابی مقادیر خروجی بلوک From Workspace برای زمان های شبیه سازی قبل از اولین نقطه داده در داده های فضای کاری بارگذاری شده تأثیر می گذارد. هنگامی که داده Interpolate انتخاب می شود، بلوک From Workspace از دو نقطه داده اول در داده های فضای کاری برای برون یابی خطی مقادیر خروجی برای زمان های شبیه سازی قبل از اولین نقطه داده استفاده می کند.

منبع : برق تِک + سایت متلب

About برق تِک

Leave a Reply

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