آموزش متلب

GUI در متلب-1

GUI (رابط گرافيكي براي كاربر) نوعي رابط تـصويري بـراي برنامـه اسـت که  نمونـة خـوب آن میتواند با فـراهم كـردن شـكل و صـورتي ثابـت بـراي برنامـه و همچنـين بـا كنترلگرهـاي آشـنا، مثـل

menus وsliders جعبه هـاي ليـست) و) list boxes ،(دكمه‌هاي فشاري) pushbuttons

(منوها) و مانند اينها استفاده از برنامه را آسانتر کند. رابط گرافيكي بايد رفتاري قابل فهـم و پـيش بينـي داشته باشد، بدين معني که كاربر بداند در ازاي انجام عملي خاص، چه اتفاقي خواهد افتـاد. بـرای مثـال،هنگامی که ماوس روي يكpushbutton  كليك می کند،GUI  بايد عملي را که روي آن نوشته شده،آغاز کند.

 

يك GUI چگونه كار می کند؟ 

رابــط گرافيكــي (GUI) محيطــي آشــنا بــراي كــاربر فــراهم مــي كنــد. ايــن محــيط حــاويpushbutton‌ها، togglebutton‌ها، list‌ها، menu‌ها، text box  ها، و . . . مـي باشـد که براي همة كاربران آشن است و اين موجب میشود که كاربر به جاي مشغول كردن ذهن خود با چنـد وچون اجراي برنامه و پيچيدگي آن، تنها روي استفاده از آن تمركز کند. ايجاد رابط هاي گرافيكـي بـرای برنامه نويس كار مشكلي است. زيرا برنامهاي که بـر پايـةGUI  طراحـي شـده بايـد در هـر زمـان آمـاده وروديهاي ماوس و (يا احت مالاً وروديهاي كيبرد ) روي هر يك از عناصر خـود باشـد. ايـن وروديهـا بـهevent‌ها معروفند. برنامهاي که به اين event‌ها پاسخ گويد، event driven نامیده می شود.  سه عنصر اساسي لازم براي ايجاد رابط گرافيكي (matlab (GUI عبارتند از:

1-   (Components) اجزا

عناصر درونpushbutton) GUI  ها،label  ها،editbox  ها ) اجزاي گرافيكي نام دارند .

انواع اين اجزا شامل كنتـرلهـاي گرافيكـي، (ماننـدpushbutton  هـا،editbox  هـا،list  هـا،slider‌ها و. . .) عناصر ثابت و بدون تغيير (مانند قابها و نوشتههـا )، منوهـا و محورهـاي مختـصاتهستند. كنترلهاي گرافيكي و عناصر ثابت توسط تابعuncontenxmenu  به وجود میآيند. در نهايت،محورهاي مختصات که وظيفة نمايش داده هاي گرافيكي را بر عهده دارند، توسـط تـابعaxes  بـه وجـودمیآيند.

2-   (Figures) اشكال

اجزايGUI  بايد درون يكfigure  مرتب شوند، که پنجـرهاي روي صـفحه كـامپيوتر اسـت. پيش از اينfigure  ها به طور خودكار هنگام ترسيم دادهها بوجود می آمدند. با اين وجـود،figure  هاي خالي را نيز میتوان با دستور figure  ايجاد كرد و از آنهـا مـيتـوان بـراي نگـهداري و كنـار هـمگذاشتن اجزاي گرافيكي استفاده كرد.

3-   (Callbacks) فراخوان‌ها

بايد راهي براي انجام عملي خاص هنگامی که كاربر با ماوس روي يك دكمه كليك يا اطلاعاتي را توسط كيبرد تايپ می کند، وجود داشته باشد. هر كليك ماوس يا فشار كليد از صفحه كليد يـكevent  تلقي می شود و برنامة matlab بايد با اجرای تابع مربوطه، به اينevent  پاسخ گويد. به عنـو ان مثـال،اگر كاربر روي يك دكمه كليك کند، اين پيش آمد بايد سـبب اجـراي كـد مربـوط بـهfunction  آن دكمه شود. كد اجرا شده در پاسخ به اين پيش آمد، callback نام دارد. در حقيقت بايد براي عملكـردهر جزء گرافيكي GUI يه callback وجود داشته باشد.

عناصر اصليGUI  ها در زير به خلاصه و نمونههايي از آنها در شكل 1-1 نشان داده شـده اسـت.

در ادامه مثالهايي از اين عناصر را مطالعه كرده و سپس با استفاده از آنها به ايجـادGUI  هـاي كـاربرديخواهيم پرداخت.

مشخصات بعضي از عناصر اصلي GUI :

uicontrol) : Pushbutton) : اين جزء گرافيكي كار يك دكمه فشاري را انجام ميدهـد .

هنگامي كه با ماوس روي آن كليك شود، callback مربوطه را فعال مي كند.

uicontrol) : Toggle button) : جزئي گرافيكي است كه كار يـك كليـد دو حالتـه راانجام ميدهد. اين كليد دو وضعيت يا “روشن”است يا “خاموش” و هر بار كه بـا مـاوس روي آن كليـكشود، تغيير وضعيت داده و callback مربوط به آن فعال مي شود.

uicontrol) : Radio button) : نوعي از toggle button‌هاست كه بـه صـورتدايرة كوچكي است و هنگام “روشن” بودن نقطـه اي در مركـز آن قـرار مـي  گيـرد. گروهـي ازradio button‌ها را ميتوان براي پيادهسازي گزينههاي مستقل استفاده كرد. هر كليك ماوس روي اين جـزءcallback آن را فعال مي كند.

check box : (uicontrol) : Check box نوعي از toggle button‌ها است كه به شكل مربعي كوچك با علامت تيك (3) در درون آن به منزلة “روشـن ” بـودن مـيباشـد . هـر كليـكماوس روي آن، callback آن را فعال مي كند.

edit box : (uicontrol) : Edit box متني را نمـايش مـي دهـد و بـه كـاربر اجـازهميدهد اطلاعات نشان داده شده در آن را تغيير دهد. Callback مربوط به آن با فشار دكمـهenter  فعال مي شود.

uicontrol) : List box) : كنترلي گرافيكي است كه يـك سـري از مـتن هـاي رشـته اي

(text string) را نمايش مي دهد كاربر مي تواند با يك يا دو بار كليك روي هر يك از اين متن هـايرشته اي آنها را انتخاب كند. به هنگام انتخاب يك متن رشته اي callback آن فعال مي شود.

uicontrol) : Popupmenu) : كنترلي  گرافيكي است كه در پاسخ بـه كليـك مـاوس يـكدسته از متنهاي رشتهاي را نمايشميدهد. تا هنگامي كه روي يك منويpopup  كليك نـشده اسـت،تنها رشتة انتخاب شده فعلي آن قابل مشاده است.

slider : (uicontrol) : Slider كنترل گرافيكي ديگري است كه نقش آن تنظيم يكمقدار به طور منظم و پيوسته با كشيدن كنتـرل آن بـه وسـيله مـاوس اسـت. هـر تغييـر درslider  ،callback اش را فعال مي كند.

uicontrol) : Frame) : يك قاب ايجاد ميكند كه در حقيقيت جعبـة مربعـي شـكل درونfigure ميباشد. قابها براي گروه بندي مجموعهاي از كنترلهاي گرافيكي استفاده ميشوند. قابها هرگزcallback ي را فعال نمي كنند.

uicontrol) : Text field) : برچسبي (label) ايجاد مي كند كه متني رشته اي واقع در          نقطهاي روي figure است. text field‌ها هرگز callback ي را فعال  نميكنند.

uimenu) : Menu items) : يك منو ايجاد مي نمايد و callback اين منوهـا  بـه هنگـامكليك ماوس روي آنها فعال مي شود.

uicontextmenu) : Context menu) : يك منوي context ايجاد مي نمايد. هنگامي كه كاربر روي شيء مورد نظر با كليك سمتراست ماوس، كليك مي كند اين منو ظاهر مي شود.

axes) : Axes) : يك دستگاه مختصات براي نمايش اطلاعات در آن، ايجاد ميكند. Axes‌هاهيچ گاه callback ي را فعال نمي كنند.

21 ايجاد و نمايش يك GUI  GUI‌هايMATLAB  را ميتوان با ابزاري به نامguide  ، ايجاد كرد. اين ابزار به برنامـه نـويسامكان پيادهسـازيGUI  ، انتخـاب و مرتـب كـردن اجـزاي درون آن را مـيدهـد . بعـد از اينكـه اجـزا در جاهايشان قرار گرفتند، برنامه نويسميتواند خصوصيات (properties) هر يك را اعم از اسم، رنـگ،اندازه، فونت، و نوشتة روي آن و. . . ويرايش كند. هنگـامي كـهguide  يـكGUI  را ذخيـره مـي كنـد،برنامهاي حاوي مجموعهاي از توابع كليدي ايجاد م كه برنامه نويس ميتواند با تغييـر در ايـن توابـعرفتار GUI را تنظيم كند.

 

ناحية روشن چهار خانه،layout  (كادر و ناحية طراحي) نام دارد، ناحيه اي که برنامـه نـويس،GUI را در آن طراحي مي كند. در قسمت چپ پنجرة layout editor ، مجموعه اي از عناصر GUI قرار دارند . كاربر ميتواند هر تعداد از اين اجزا را ابتدا با كليك روي جزء مورد نظر و سپس كشيدن آن بـهدرون ناحيهlayout  ايجاد كند. بالاي اين پنجره يكtoolbar  حاوي يك سـري از ابزارهـاي مفيـدوجود دارد كه به كاربر اجازه ميدهد تا اجزايGUI  را هم راستا كرده يا روي ناحية طراحي پخش كنـد ويا خصوصيات (propertise) اين اجزا را تغيير داده و يا به GUI منو اضافه كند يا . . .

گام‌هاي اساسي لازم براي ايجاد يك GUI در MATLAB  به قرار زير است:

1-                ابتدا بايد تصميم بگيريد كه به چه عناصري براي كارتـان احتيـاج داريـد و نقـش هـر يـك راتعيين كنيد، سپس طراحي اوليه و درهم برهمي از اين اجزا با دست روي كاغذ بياوريد.

2-                از ابزار guide (محيط توسط يافته GUI ) براي چيدن اجزا درون figure كمك بگيريد.

ابعاد و اندازهfigure  ، هم راستايي و فضاي بين اجزا را مـيتـوان بـا ابزارهـاي درونguide  تنظيم كرد.

3-                از يكـي ديگـر از ابزارهـاي MATLAB بـه نـام Property Inspector (واقـع درون guide ) استفاده كنيد تا به هر كدام از اجزا، يك لقب( يك “tag”) نسبت دهيـد و ويژگـيهـاي هـريك را كه شامل رنگ، متن نمايش داده شده، غيره مي باشد، تنظيم نمائيد.

4-                figure را در يك فايل ذخيره كنيد. بعد از اينكهfigure  زا ذخيره كرديد، دو فايـل بـااسامي يكسان ولي با پسوندهاي متفاوت روي ديسكت بوجود ميآيند. فايل بـا پـسوند.fig  خـودGUI  هاي ايجادشده، و فايل ديگر M-File ميباشد، كه حاوي كد آن و بدنـةcallback  هـاي مربـوط بـهعناصر GUI است.

5-                كدي بنويسيد كه رفتار مربوط به هر تابع callback را انجام مي دهد.

به عنوان نمونه براي ايـن مراحـل، بيائيـد يـكGUI  سـاده را در نظـر بگيـريم كـه حـاوي يـكpushbutton ساده و يك متن رشتهايميباشد. با هر بار كليك رويpushbutton  متن رشتهاي طوري تغيير ميكند تا تعداد كل دفعاتي كه از ابتداي كارGUI  رويpushbutton  كليك شده اسـترا نمايش دهد.

 

مقاله متلب,مطلب,متلب,مقاله برق,مقاله قدرت,مقاله مطلب,مقاله سیمولینک,دانلود متلب,دانلود مقاله متلب,مقالهmatlab ,آموزش متلب,مطلب,متلب,آموزش برق,آموزش قدرت,آموزش مطلب,آموزش سیمولینک,دانلود متلب,دانلود آموزش متلب,آموزشmatlab ,پروژه متلب,مطلب,متلب,پروژه برق,پروژه قدرت,پروژه مطلب,پروژه سیمولینک,دانلود متلب,دانلود پروژه متلب,پروژهmatlab ,

سعید عربعامری
من سعید عربعامری نویسنده کتاب 28 گام موثر در فتح متلب مدرس کشوری متلب و سیمولینک و کارشناس ارشد مهندسی برق قدرتم . بعد از اینکه دیدم سایتهای متعدد یک مجموعه کامل آموزش متلب و سیمولینک ندارند به فکر راه اندازی این مجموعه شدم
http://sim-power.ir

دیدگاهتان را بنویسید

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