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

در انجام پروژه متلب لغزنده در واقع یک رابط گرافیکی است که به کاربران نهایی اجازه می دهد مقادیر گسسته را در محدوده مولفه اسلایدر انتخاب کنند. MATLAB قابلیت های داخلی را برای ایجاد مولفه های لغزنده در کامپوننت شکل MATLAB فراهم می کند.
این پروژه متلب نحوه ایجاد کامپوننت اسلایدر در متلب و گزینه های مختلف موجود با آن را توضیح می دهد.
ایجاد کامپوننت اسلایدر
تابع uislider یک شیء لغزنده جدید را در یک مؤلفه uifigure جدید ایجاد می کند مگر اینکه مؤلفه شکل والد وجود نداشته باشد. نحو کار:
slider_name = uislider(<optional parameters>)
نحوه کار با uislider ساده است. اگر شکل والد وجود نداشته باشد، متلب یک کامپوننت شکل جدید ایجاد می کند و سپس یک نوار لغزنده به آن اضافه می کند. اگر در پروژه های متلب یک شکل والد به تابع داده شود، لغزنده را در آن شکل خاص ایجاد می کند.
مثال 1:
ایجاد شکل والدین%
;fig = uifigure
اضافه کردن جزء لغزنده%
;slid = uislider(fig)
خروجی:

همانطور که مشاهده می شود مولفه اسلایدر به شکل اضافه شده است.
تغییر محدوده های اسلایدر
همانطور که در مثال قبلی مشاهده شد، نوار لغزنده مقادیر پیش فرض را از 0 تا 100 گرفت. با این حال، می توانیم با استفاده از روش زیر، آن را به هر حد دلخواه تغییر دهیم.
مثال 2:
کد%
;fig = uifigure
;slid = uislider(fig)
تغییر محدودیت ها از -23 به 23 %
;slid.Limits = [-23 23]
در این پروژه متلب نشان می دهیم با استفاده از ویژگی slider_object.Limits از uislider، میتوانیم محدوده های لغزنده را به هر مقدار دلخواه تغییر دهیم.
خروجی:
استفاده عملی از داده های لغزنده
تا کنون، اسلایدر هیچ داده واقعی را دستکاری نمی کند، فقط یک نوار لغزنده گرافیکی است. برای استفاده از مقادیر لغزنده در انجام پروژه متلب، باید ویژگی”ValueChangedFcn” را به اسلایدر اضافه کنیم. این ویژگی از کنترل کننده رویداد برنامه های متلب، رویداد استفاده می کند.
ما از رویداد استفاده می کنیم و از مقادیر اسلایدر استفاده می کنیم. برای درک همین موضوع به مثال زیر مراجعه کنید.
مثال 3:
;sldchanger
تابع تولید نوار لغزنده و a %
شماره گیری ساختگی برای نمایش مقادیر تغییر یافته %
function sldchanger
;fig = uifigure
;dial = uigauge(fig)
ایجاد اسلایدر و اختصاص دادن %
مقادیر آن به شماره گیری/سنج ایجاد شده در بالا%
;slid = uislider(fig,’ValueChangedFcn’,@(slid,event) changedial(slid,dial))
تعیین محدودیت از 0 تا 23%
;slid.Limits = [0 23]
end
کنترل کننده رویداد ValueChangedFcn%
function changedial(slid,dial)
تغییر مقادیر شماره گیر به اسلایدر%
مقادیر بعد از هر اسلاید%
;dial.Value = slid.Value
end
خروجی:

در کد بالا یک کامپوننت اسلایدر با محدودیت های 0 تا 23 ایجاد می کنیم و مقادیر تغییر یافته آن را به کامپوننت uigauge dial اختصاص می دهیم. همین کار با ایجاد یک دسته تابع برای تخصیص مقادیر آن به شمارهگیر مشابه با مقدار اشارهگر لغزنده و سپس ارسال آن دسته تابع به پارامتر ValueChangedFcn انجام میشود.

