The MATLAB Notebook v1.6

מסמכים קשורים
אגף התקשוב, אוניברסיטת בר אילן קורס תוכנת מטלב ויישומיה ד"ר סמדר שץ קורס תוכנת מטלב ויישומיה שיעור מס' 11: תכנות ממשקי משתמש תכנות מונחה-אירועים תכנות

תוכנת מטלב ושימושיה שיעור 12

אגף התקשוב, אוניברסיטת בר אילן קורס תוכנת מטלב ויישומיה ד"ר סמדר שץ מימוש ממשק משתמש ע"י GUIDE קורס תוכנת מטלב ויישומיה שיעור מס' 12: שימוש ב- GUIDE -

ייבוא וייצוא של קבצי אקסל וטקסט

WinZIP תוכנה לדחיסת קבצים ספטמבר 2007

סרגל כלים ל-Outlook או לExplorer- מדריך למשתמש

מצגת של PowerPoint

הוספת קישור לאתר אינטרנט תוכן ממשק בדיקת מטלות...3 איחוד אתרי קורסים...5 סל מחזור... 7 חידושים בפעילויות...8 תצורת קורס: כפתורים... 9 פורומים...10 שיפ

מרצים יקרים, אתר המכללה מאפשר למרצי המכללה להזין את פרטיהם וקורות חייהם. זאת בדומה לאתרים מקבילים של מוסדות אקדמיים בארץ ובעולם. עמודי המרצים נועדו לא

מדריך למרצים ומתרגלים 1

Microsoft Word - tips and tricks - wave 5.doc

שאלהIgal : מערכים דו מימדיים רקורסיה:

תכנות מונחה עצמים א' – תש"ע

מדריך להתחלה מהירה Microsoft Project 2013 נראה שונה מגירסאות קודמות, ולכן יצרנו מדריך זה כדי לעזור לך ללמוד להכיר אותו. סרגל הכלים לגישה מהירה התאם אי

HTML - Hipper Text Makeup Language

יצוא לחשבשבת תוכן עיניינים הגדרות - חשבונות בנק...2 הגדרות - הגדרות חשבשבת... 3 הגדרות - כרטיסי אשראי... 4 הגדרות - סוגי הכנסה... 5 יצוא לחשבשבת...6 י

Microsoft Word - I900-Tips_and_Tricks

הנחיות הורדה ותפעול לספרים דיגיטלים. הוצאת כנרת, זמורה ביתן שמחה להגיש לכם, התלמידים, ספר דיגיטלי. הספרים עצמם הינם בקבצי PDF הניתנים להורדה ללא עלות

שאלהIgal : מערכים דו מימדיים רקורסיה:

תוכן העניינים

תאריך פרסום: תאריך הגשה: מבנה נתונים תרגיל 5 )תיאורטי( מרצה ומתרגל אחראים: צחי רוזן, דינה סבטליצקי נהלי הגשת עבודה: -את העבודה יש לה

PowerPoint Presentation

תוכן העניינים

תוכן הגדרת שאלת רב-ברירה ]אמריקאית[...2 הגדרת שאלת נכון\לא נכון...8 שאלות אמריקאיות 1

ת'' מדריך לבעלי תיבה קיימת במופ ומשתמשים ב Outlook 2003 או doc.2007 לפני שניגש להגדיר את תיבת המייל החדשה, נבצע גיבויי של המיילים ופנקס הכתובות מהחשבו

Titre du document en police Sodexo

מבוא לתכנות ב- JAVA תרגול 7

פקולטה לחינוך מנהל סטודנטים Beit Berl College الكلية االكاديمية بيت بيرل 20/06/2016 י"ד/סיון/תשע"ו ייעוץ וירטואלי הרכבת מערכת )רישום לקורסים( באמצעות

(Microsoft Word - SQL\353\351\345\345\365 \341\361\351\361 \360\372\345\360\351\355 \ doc)

Microsoft Word IG Lab - Configure Wireless Router in Windows Vista.docx

PowerPoint Presentation

2019 שאלות מומלצות לתרגול מס' דיפרנציאביליות של פונקציה סקלרית )המשך(. כלל השרשרת. S = ( x, y, z) z = x + 3y על המשטח מצאו נקודה בה מישור משיק

תיק משימטיקה מגרף הנגזרת לגרף הפונקציה להנגשה פרטנית נא לפנות: כל הזכויות שמורות

<4D F736F F D20F4E9E6E9F7E420FAF8E2E5ED20ECF2E1F8E9FA20E4E2E4E420F1E5F4E9FA20496C616E2E646F63>

Office 365 ProPlus בחינם לסטודנטים באוניברסיטת בן גוריון בנגב הוראות סטודנטים באוניברסיטת בן גוריון בנגב יכולים להוריד ולהתקין את חבילת התוכנה Office

Microsoft Word - Ass1Bgu2019b_java docx

פייתון

Microsoft Word B

PowerPoint Presentation

הגשה תוך שבוע בשעת התרגול

מתמטיקה של מערכות

1 תבניות טקסט מהי תבנית טקסט? שימוש ב- Characters Meta שימוש ב- Expression Grouping שימוש ב- Quantifiers תת תבניות הפונקציה preg_match הפונקציה preg_m

Microsoft PowerPoint - rec3.ppt

מבחן 7002 פרטים כלליים מועד הבחינה: בכל זמן מספר השאלון: 1 משך הבחינה: 3 שעות חומר עזר בשימוש: הכל )ספרים ומחברות( המלצות: קרא המלצות לפני הבחינה ובדי

משימה תכנית המתרגמת קטעי טקסט לשפה אחרת הקלט: קובץ המכיל את קטעי הטקסט וכן את השפה אליה רוצים לתרגם תרגול מס' 4: המתרגם שימוש במחלקות קיימות תכנות מתק

שאלהIgal : מערכים דו מימדיים רקורסיה:

Slide 1

עבודה במתמטיקה לכיתה י' 5 יח"ל פסח תשע"ה אפריל 5105 קשה בלימודים, קל במבחנים, קל בחיים עבודה במתמטיקה לכיתה י' 5 יח"ל פסח תשע"ה יש לפתור את כל השאלות

Slide 1

Microsoft Word - hedva 806-pitronot-2011.doc

מספר זהות: סמסטר ב' מועד א' תאריך: 11102/4// שעה: 9:22 משך הבחינה: 3 שעות חומר עזר: אין מותר השימוש במחשבון פשוט בחינה בקורס: מבני נתונים מרצה: הדר בי

מדריך להתקנת Code Blocks מדריך זה נועד לתאר את תהליך התקנת התוכנה של הקורס "מבוא למחשב שפת C". בקורס נשתמש בתוכנת Code::Blocks עם תוספת )אשף( המתאימה

תרגול 1

מבוא למדעי המחשב - חובלים

מדריך לחיפוש במאגר JCR Journal Citation Reports מעודכן לדצמבר 2015 כל הזכויות שמורות לתחום היעץ, אוניברסיטת חיפה, הספריה

ForMenahelHeshbonot

מסע מדע ו - מסע ברכב שטח ביבשות רחוקות

מיכפל

מבוא למדעי המחשב

Tutorial 11

תוכנה 1 1 אביב תשע"ג תרגיל מספר 5 מערכים, מחרוזות, עיבוד טקסט ומבני בקרה הנחיות כלליות: קראו בעיון את קובץ נהלי הגשת התרגילים אשר נמצא באתר הקורס. הגש

בקרים מתוכנתים – PLC

תרגול מס' 7 – חזרה על MST ואלגוריתם Dijkstra

מבוא למדעי המחשב

Microsoft Word - עבודת פסח לכיתה י 5 יחל.doc

מבחן סוף סמסטר מועד א 15/02/08 מרצה אחראית: דר שירלי הלוי גינסברג מתרגלים: גלעד קותיאל, דניאל גנקין הוראות: א. בטופס המבחן 7 עמודים ו 4 דפי נוסחאות. ב

Microsoft Word - c_SimA_MoedB2005.doc

פתרון 2000 א. טבלת מעקב אחר ביצוע האלגוריתם הנתון עבור הערכים : פלט num = 37, sif = 7 r האם ספרת האחדות של sif שווה ל- num num 37 sif 7 שורה (1)-(2) (

תאריך הבחינה 30

פקולטה: מחלקה: שם הקורס: קוד הקורס: מדעי הטבע מדעי המחשב ומתמטיקה מתמטיקה בדידה תאריך בחינה: _ 07/07/2015 משך הבחינה: 3 שעות סמ' _ב' מועד

Microsoft Word - 01 difernziali razionalit

תרגיל 5-1

מבוא למדעי המחשב

אוניברסיטת חיפה החוג למדעי המחשב מבוא למדעי המחשב מועד א' סמסטר ב', תשע"ג, משך המבחן: שעתיים וחצי חומר עזר: אסור הנחיות: וודאו כי יש בידיכם

DCA & A/B Testing

2013/14 אוניברסיטת חיפה מבוא למדעי מחשב, מעבדה מטרת המעבדה: לתרגל את המעבר מאלגוריתם לקוד C כמה שיותר. הוראות:.1.2 ניתן לעבוד ביחידים או בזוגות. (יש מ

תרגיל בית מספר 1#

תרגול מס' 4: המתרגם שימוש במחלקות קיימות מחרוזות, קבצים, וקבלת קלט מהמשתמש

Microsoft Word - tutorial Dynamic Programming _Jun_-05.doc

Slide 1

שאלה 2. תכנות ב - CShell

מטלב לפיסיקאים שיעור 1

Microsoft Word - teachmodel1.doc

תוצאות סופיות מבחן אלק' פיקוד ובקרה קיץ 2014

. m most לכל אורך השאלה, במקרה של כוח חיכוך: = 0.01 [kg]; μ א. נתון: = 0.1 k f k = μ k N = μ k mg a = μ k g תור ראשון: לאחר שג'וני גלגל את הגולה הראשו

Microsoft Word - HUNTER-PRO series User IL he A2 _Mar 2009__1.x.doc

PowerPoint Presentation

תשע"דד אביב תוכנה 1 תרגיל מספר 4 עיבוד מחרוזות וקריאה מקבצים הנחיות כלליות: קראו בעיון את קובץ נהלי הגשת התרגילים אשר נמצא באתר הקורס..(

Slide 1

תשובות מלאות לבחינת הבגרות במתמטיקה מועד ג' תשע"ד, מיום 0/8/0610 שאלונים: 313, מוצע על ידי בית הספר לבגרות ולפסיכומטרי של אבירם פלדמן שאלה מספר

יחידה 8: שיקוף, הרחבה וכיווץ של פרבולות שיעור 1. שיקוף בציר x תלמידים התבקשו לשרטט פרבולה שכל הערכים שלה שליליים. y יואב ש רטט כך: y תומר אמר: אי-אפשר

צירים סמויים - דגם סוס SOSS צירים 4 CS55555 CS5552 CS5554 CS55505 מק"ט דגם 34.93mm 28.58mm 25.40mm 19.05mm מידה A 26.99mm 22.23mm 18.2

פתרונות לדף מס' 5

<4D F736F F D20E7E5F7E920E0E9EEE5FA20E1E8E1ECE42E646F63>

סדנת תכנות ב C/C++

הסבר לתוכנת הגדלה מסוג זום טקסט

Slide 1

מבחן סוף סמסטר מועד ב 28/10/08 מרצה אחראית: דר שירלי הלוי גינסברג מתרגלים: גלעד קותיאל, גדי אלכסנדרוביץ הוראות: א. בטופס המבחן 6 עמודים (כולל דף זה) ו

תמליל:

תכנות מונחה-אירועים שיעור מס' 11: תכנות ממשקי משתמש תכנות סדרתי סדר ביצוע הפקודות נקבע ע"י קוד התוכנית. קלט מן הסביבה נעשה באופן יזום ע"י התוכנית. במקרים בהם מבקשים קלט ממשתמש, התוכנית עוצרת את הביצוע עד לקבלת הקלט. )כפי שמתבצע בשיעור 9 דוגמא.)d9curve_select 4 המעבד פעיל כל זמן שהתוכנית מתבצעת )גם כאשר התוכנית עוצרת לקבלת קלט מן המשתמש או כל עצירה אחרת, למשל פקודת.)pause תלות מהלך התוכנית במשתנים סביבתיים )למשל סוגים שונים של קלט( נקבע מראש ע"י התוכנית, בד"כ באמצעות פקודות התנייה. תכנות מונחה-אירועים סדר ביצוע הפקודות נקבע ע"י אירועים בסביבה )למשל פעולות של המשתמש(. הסביבה יוזמת אירועים שמועברים למחשב באמצעות פסיקה.)interrupt( לכל סוג פסיקה משויכת תוכנית שמופעלת כאשר מגיעה פסיקה מסוג זה. המעבד פעיל רק כאשר מתבצעת תוכנית-פסיקה. משתנים סביבתיים משפיעים על מהלך הטיפול באירועים. ממשק-משתמש הוא מקרה פרטי של תכנות מונחה-אירועים. האירועים הם הקשה על אחד מכפתורי העכבר או המקלדת, כאשר הסמן נמצא על עצם גרפי מסוים. בדרך כלל תוכנית לממשק משתמש בנויה באופן הבא: התוכנית הראשית כוללת פקודות היוצרות את העצמים המרכיבים את הממשק, ובהתאם לצורך גם מאתחלת פרמטרים או ערכי ברירת מחדל. התוכנית הראשית מסתיימת, ובמטלב הבקרה חוזרת לחלון-הפקודות. לכל עצם גרפי ניתן לשייך פונקציה שתתבצע כאשר יקרה אירוע הקשור לעצם. פונקציה זו נקראת CallBack )קריאה-לאחור(. שיוך הפונקציות האלה לעצמים הגרפים בממשק נעשה בשלב האתחול )התוכנית הראשית( ע"י ציון תכונות העצם הרלוונטיות. לאחר שהתוכנית הראשית סיימה, אפשר להשתמש בממשק כל עוד החלון הגרפי פתוח. הקשה על העצמים בחלון שהוגדרו כפעילים תפעיל את פונקציות ה- CallBack שהוגדרו וכך יתבצע האלגוריתם המבוקש. המעבד פעיל רק כאשר מתבצעות פונקציות.CallBack עמ' 1 מתוך 7

דוגמא 1: הפונקציה d11save_plot מיועדת להפעלה כאשר יש כבר חלון גרפי פתוח עם שרטוט קיים. המטרה היא לצפות בשרטוט במספר צורות של הגדלה ו/או הזזה ולשמור חלק מן התצוגות, כך כל אחת מהן בקובץ נפרד בשמות סדרתיים. הפונקציה הראשית משייכת לצירים פונקציית- תגובה להקשה על הצירים, וכן מאתחלת מונה עבור שמות הקבצים ומסתיימת. המשתמש משנה את התצוגה ומקיש עם העכבר על שטח הצירים בכל פעם שרוצה לשמור את התצוגה. פונקציית התגובה שומרת את הפלוט לקובץ ומקדמת את המונה. סוגי אירועים התכונות הבאות משייכות פונקציה לעצם גרפי, כאשר קורים האירועים הבאים: ButtonDownFcn לחיצה על אחד מכפתורי העכבר כאשר הסמן נמצא מעל העצם KeyPressFcn לחיצה על מקש/ים במקלדת כאשר הסמן נמצא מעל העצם KeyReleaseFcn שחרור מקש/ים במקלדת כאשר הסמן נמצא מעל העצם CreateFcn יצירת העצם. )שימושי להגדרת תכונות ברירת-מחדל( DeleteFcn מחיקת העצם. )שימושי לשמירת מידע לפני שהעצם נעלם(. ResizeFcn שינוי ממדי העצם. )שימושי כאשר שינוי ממדים מחייב שינויי עיצוב(. התכונות הבאות רלוונטיות רק לחלון גרפי :)figure( CloseRequestFcn ניסיון לסגור את החלון )למשל ע"י הקשה על צלמית הסגירה(. WindowButtonDownFcn לחיצה על אחד מכפתורי העכבר כאשר הסמן נמצא מעל החלון WindowButtonUpFcn שחרור אחד מכפתורי העכבר כאשר הסמן נמצא מעל החלון WindowButtonMotionFcn תנועה של הסמן כשהוא נמצא מעל החלון WindowScrollWheelFcn שימוש בגלגל הגלילה בעכבר כאשר הסמן נמצא מעל החלון WindowKeyPressFcn לחיצה על מקש/ים במקלדת כאשר הסמן נמצא מעל החלון WindowKeyReleaseFcn שחרור מקש/ים במקלדת כאשר הסמן נמצא מעל החלון אפשר לקבל מידע נוסף על האירוע באמצעות התכונות הבאות: CurrentCharacter שם המקש במקלדת שהוקש לאחרונה כאשר הסמן היה מעל העצם SelectionType שם כפתור העכבר שהוקש כאשר הסמן היה מעל העצם. מקרים נפוצים הם normal עבור כפתור שמאלי, alt עבור כפתור ימני. עמ' 2 מתוך 7

CurrentPoint קואורדינטות הנקודה שבה הוקש על כפתור העכבר כאשר הסמן היה מעל העצם. המספרים ביחידות של העצם )ברירת המחדל היא pixel עבור חלון ו- coordinates data עבור מערכת צירים(. קוד עבור callback הקוד עבור תכונת callback )שיתבצע כשיקרה אירוע( יכול להיות אחד מן הדברים הבאים: 'MATLAB code' א. מחרוזת תווים שמטלב מבצע כאילו הוקלדה בחלון הפקודות. אם המחרוזת כוללת שמות של פונקציה או סקריפט, מטלב מבצע )במידה וזיהה את התוכנית המבוקשת(. אם יש שמות שזוהו כמשתנים במרחב- העבודה הכללי של מטלב, יילקחו הערכים השמורים במשתנים אלה. function-handle ב. מזהה לפונקציה, שמטלב מפעיל עם שני הארגומנטים הבאים: hobject 1. מזהה handle של העצם שבו קרה האירוע. EventStructure 2. מידע על האירוע.)structure( למשל, אירועים הקשורים במקלדת כוללים את השדות הבאים: Character התו כפי שמוצג כתוצאה של כלל המקשים. )למשל.)A=a+SHIFT Key שם המקש )אות קטנה,lowre case או שם עבור מקשים אחרים(. Modifier מערך-תאים עם שמות המקשים הנוספים shift(.)control, alt, function cb(h,ev) לסיכום, שורת הכותרת בפונקציית callback תיראה כך: בדרך כלל המזהה h שימושי, ואילו המידע על האירוע )בארגומנט )ev פחות משמעותי. בכל מקרה יש לשמור על התבנית של שני ארגומנטים. מומלץ להשתמש תמיד בפונקציות )אפשרות ב' למעלה( ולא במנגנון של סקריפט עם משתנים במרחב העבודה הכללי. דוגמא 2: התוכנית d11draw_lines מבצעת ממשק המאפשר למשתמש לציין קואודינטות ולשרטט קווים שבורים בעזרת העכבר. בכל קטע מוצג תחילה קו מרוסק העוקב אחרי תנועת העכבר, ואשר הופך ל"קבוע" לאחר לחיצה על כפתור שמאלי. לחיצה על כפתור ימני מסיימת את הקו השבור כך שלחיצה נוספת על כפתור שמאלי מתחילה קו חדש. הקובץ כולל פונקציה ראשית ושתי פונקציות :callback אחת לתגובה על הקשה על כפתור עכבר ואחת לתגובה על תנועת עכבר. עמ' 1 מתוך 7

עצמים לממשק-משתמש במטלב יש עצמים מוגדרים-מראש לצורך בניית ממשקי משתמש. )אפשר לבנות ממשק גם מעצמים גרפיים פשוטים, אבל כמובן בעבודה רבה יותר(. בניגוד לכלי ממשק שהודגמו עד כה )לדוגמא חלון- תפריט, תיבת דיאלוג או תיבה לבחירת קובץ(, עצמים אלה הם חלק מן החלון הגרפי הקיים )כלומר "ילדים" של ה- figure (. לעצמים אלה יש עיצוב גרפי נתון )אשר ניתן לשלוט על הפרמטרים שלו( וכן התנהגות נתונה. ניתן לשנות במידה מסוימת את התנהגות עצמים אלה, אבל המאפיינים הבסיסיים שלהם נקבעו לצורך שימוש בהתנהגות הנתונה. עצמים לממשק משתמש מתחלקים לשני קבוצות עיקריות: UImenu ו- UIcontrol. עצמים מסוג UImenu הם תפריטים שנמצאים בסרגל התפריטים בראש החלון. בשיעור זה נתאר עצמים מסוג,Uicontrol שיכולים להיות בכל מקום בשטח שמתחת לסרגל התפריטים. להלן כמה סוגים של :Uicontrol Uicontrol type עיצוב העצם והתנהגותו כפתור לחיץ. נלחץ בלחיצה על כפתור עכבר ומשתחרר עם שחרור כפתור העכבר. PushButton לחיצה+שחרור של העכבר מפעילה.callback כפתור-מצבים. הקשה עם העכבר מעבירה אותו בין המצבים "בפנים" ו"בחוץ". כל ToggleButton הקשה מפעילה callback וניתן לבדוק באיזה מצב נמצא. תיבת "אישור". לחיצה עם העכבר מעבירה בין מצב "כן" )בו נמצא סימון בתיבה( CheckBox למצב "לא" )בו התיבה ריקה( וכן מפעילה.callback תפריט "קופץ". במצב לא פעיל, מוצג טקסט שהוא אחת מן האפשרויות. לחיצה PopUpMenu בעכבר מציגה רשימה של האפשרויות שמהן בוחרים. בחירה מפעילה callback ומציגה באופן קבוע את האפשרות שנבחרה. כמו-כן ניתן לבדוק איזו אפשרות מוצגת. Edit תיבת-טקסט. מאפשרת למשתמש לכתוב טקסט. כדי להפעיל,callback יש ללחוץ ENTER או להקיש עם העכבר מחוץ לשטח התיבה. )מומלץ לא להסתמך על כך ולספק גם כפתור הפעלה נפרד(. מתג-הזזה. ניתן להזיזו בעזרת העכבר. מקום המתג "מתורגם" לערך מספרי, כאשר Slider מגדירים מראש גבולות מינימום )צד שמאל( ומקסימום )צד ימין(. שחרור של כפתור העכבר עוצר את תנועת המתג וכן מפעיל,callback וניתן לקבל את הערך המספרי. Text טקסט סטטי. לא ניתן לשינוי ע"י המשתמש ולא מפעיל.callback מיועד להצגת כותרות, משוב וכו'. יצירת UIcontrol יצירת עצם,UIcontrol כאשר ציון סוג hndl=uicontrol('type',type,'p1',v1,'p2',v2) העצם נעשה ע"י תכונת.type Hs=uicontrol('type','slider','min',-3) דוגמא: uicontrol(uihandle) העברת הפוקוס לעצם קיים עם מזהה נתון: עמ' 4 מתוך 7

תכונות רלוונטיות לעצמים מסוג Uicontrol התכונות הבאות משותפות לכל העצמים מסוג UIcontrol אבל משמעותן משתנה בהתאם לסוג העצם: העצם פעיל אם,on לא פעיל אם.off במקרה של off מטלב משנה באופן אוטומטי את חזות העצם )צבעים חוורים לטקסט ורקע(. ערך מספרי. לגבי,slider ערך בהתאם למקום המתג. לגבי,popupmenu מספר האפשרות שנבחרה. לגבי עצמים מסוג כן/לא, מקבל ערך Max אם נבחר וערך Min אם לא נבחר. מחרוזת תווים - בהתאם להקשר: טקסט על כפתור, טקסט המוצג בתיבת עריכה, אפשרויות של תפריט )מערך תאים(. ערכים מספריים. לגבי slider מציין את הערכים המשויכים לגבולות בהם המתג יכול לנוע, לגבי עצמים של כן/לא, כמוסבר למעלה. צעדי-התקדמות של slider )מערך של שני איברים כמוסבר בתיעוד(. צבע טקסט. צבע רקע. Enable Value String Min Max SliderStep ForegroundColor BackgroundColor למידע על סוגי Uicontrol נוספים ותכונות נוספות, יש לחפש בתיעוד.uicontrol propoerties דוגמא 3: התוכנית d11curve_select מבצעת ממשק המאפשר למשתמש לבחור בלחיצת- עכבר עקומות מסוימות מתוך המידע הגולמי. כל עקומה שנבחרת מסומנת בקו עבה. בחירת עקומה אחרת "מסירה את הבחירה" מהעקומה שנבחרה קודם. עם הלחיצה על כפתור Confirm מאושרת בחירת העקומה, והיא מועלמת מהמידע הגולמי )כדי למנוע בחירה חוזרת( ומשורטטת במערכת-הצירים של העקומות שנבחרו. כמו-כן קיימים שלושה :sliders אחד להזזה אופקית, אחד להזזה אנכית, ואחד להתקרבות. שיטות להעברת מידע בין הפונקציות בדרך כלל פונקציית callback משתמשת במידע שאיננו קשור רק לעצם שהפעיל אותה. בנוסף, עצמים שונים קולטים מידע )למשל פרמטרים לחישוב, שמות קבצים לקריאה או לשמירה( שמיועד לשימוש כלל חלקי התוכנית. כאמור למעלה, רצוי להימנע ממשתנים גלובאליים, ולכן יש להשתמש באחת מן השיטות עמ' 5 מתוך 7

הבאות: 1. הגדרת כל הפונקציות המשתפות מידע כפונקציות פנימיות של התוכנית הראשית. באופן זה, משתנים משותפים נגישים לכל הפונקציות שמשתמשות בהם ועדכון באחת מהן משתקף אוטומטית בכל היתר. )כפי שנעשה בדוגמאות 2-1(. 2. שיוך המידע המשותף לתכונת UserData של אחד העצמים, כפי שנעשה בדוגמא 1. 1. שימוש בתכונת :guidata משתנה אחד שניתן לשייכו לחלון גרפי מסוים. 4. שימוש בעצם מסוג application data שניתן לשייכו לכל עצם גרפי )לא רק לחלון(. ניתן לציין סדרת תכונות לפי הגדרת המתכנת, ולתת להן ערכים. set(h,'userdata',mydata) Mydata = get(h,'userdata'); giudata(h,mydata) Mydata = guidata; setappdata(h,'p1',v1) setappdata(h,'p2',v2) v1 = getappdata('p1') strc = getappdata(h) 5. לקבלת מזהים handles של עצמים שנוצרו באתחול, ניתן לציין עבורם תכונת.Tag עקרונית ניתן לאחזר מזהה של כל עצם כזה ע"י חיפוש findobj לפי ערך התג. לנוחיות המתכנת, קיימת במטלב פקודה שמחזירה עבור חלון גרפי את כל המזהים שהוצמדו להם תגים, בתוך :structure שמות התגיות הם שמות השדות, וערכי השדות הם המזהים שלהם משויכים התגים. strc = guihandles דוגמא 4: התוכנית d11curve_guidata מבצעת אותו ממשק משתמש כמו בדוגמא 1. פעולת התוכנית זהה לקודמת, למעט השינויים הבאים: א. כל פונקציות ה- callback הן פונקציות משניות )ולא פנימיות(, ולכן אין להן משתנים משותפים. ב. המידע מועבר בין הפונקציות באמצעות תכונת.guidata ג. מידע על מזהי-העצמים handles( )object מתקבל באמצעות פקודת guihandles לאחר שכל העצמים הרלוונטיים לממשק המשתמש סומנו ע"י תגיות.Tags טיפול בתזמון אירועים מאחר שסדר ביצוע הפונקציות נקבע ע"י פעולות של המשתמש, יכול להיווצר מצב שאירוע קורה כאשר אחד מן ה- callbacks עדיין מתבצע. הסבירות למצב כזה גדלה, כאשר הביצוע כרוך בחישובים ארוכים או בכל פעולה מורכבת אחרת )למשל קליטת נתונים ממערכת חיצונית(. במיוחד יכול להיווצר מצב לא מוגדר, שבו פעולה מתחילה להתבצע ב- callback ובינתים קורה אירוע נוסף המפעיל אותה מחדש. ככלל, כל עוד פונקציית callback מתבצעת באופן שוטף, לא מתאפשרת הפעלה של callback נוסף )גם לא של אותה פונקציה( ואירועים נוספים שקורים בינתים נשמרים ב"תור".)queue( לאחר שהפונקצייה מסיימת, מתבצעות הקריאות ל- callbacks שהושעו, לפי הסדר שבו נכנסו לתור. ניתן להפעיל פונקציה נוספת רק כאשר הפונקציה המתבצעת מגיעה לאחת הפקודות הבאות: drawnow, figure, getframe,.pause, waitfor במקרה זה, מתבצעות הפונקציות שבתור ולאחר שהן מסתיימות חוזרים לבצע את הפונקציה שהופסקה. עמ' 6 מתוך 7

תכונות רלוונטיות לטיפול בתזמון של אירועים המשויכים לעצם גרפי Interruptible BusyAction BeingDeleted אם on אז פונקציות אחרות יכולות להפסיק את ביצוע ה- callback המשויך לעצם )אבל רק אם יש בתוכנית אחת הפקודות שצוינו למעלה(. אם off אז לא ניתן להפסיק את התוכנית. מה לעשות אם קורה אירוע המשויך לעצם ויש פונקציה אחרת שמתבצעת. אם queue אז האירוע נכנס לתור. אם cancel אז האירוע מבוטל. האם העצם נמצא בתהליך מחיקה )אשר יכול להתמשך אם משויך אליו callback שמבצע תהליך ארוך, למשל כתיבה לקובץ(. פקודות רלוונטיות לטיפול בתזמון של אירועים המשויכים לעצם גרפי hndl=gcbo קבלת המזהה handle של העצם שה- callback שלו מתבצע עכשיו. אם אין שמתבצע, התוצאה היא מערך ריק. קבלת המזהה handle של החלון הכולל את העצם שה- callback שלו מתבצע עכשיו. hndl=gcbf דוגמא 5: התוכנית d11neuron_guidata מבצעת ממשק המקבל מן המשתמש פרמטרים לחישוב של פעולת נוירון, ומשרטט את הזרם והמתח כפונקציה של הזמן. כאשר החישוב מתבצע, כל העצמים לקליטת מידע מושבתים, כדי למנוע הפעלה חוזרת של החישוב. עמ' 7 מתוך 7