The MATLAB Notebook v1.6

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

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

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

The MATLAB Notebook v1.6

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

HTML - Hipper Text Makeup Language

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

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

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

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

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

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

מצגת של PowerPoint

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

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

PowerPoint Presentation

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

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

PowerPoint Presentation

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

Slide 1

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

Microsoft Word - sync_LG.doc

תרגול 1

עמוד 1 מתוך 5 יוחאי אלדור, סטטיסטיקאי סטטיסטיקה תיאורית + לוחות שכיחות בדידים/רציפים בגדול מקצוע הסטטיסטיקה נחלק ל- 2 תחומים עיקריים- סטט

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

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

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

<4D F736F F D20F4E9E6E9F7E420FAF8E2E5ED20ECF2E1F8E9FA20E4E2E4E420F1E5F4E9FA20496C616E2E646F63>

Microsoft Word - Ass1Bgu2019b_java docx

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

Slide 1

PowerPoint Presentation

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

מיכפל

Microsoft PowerPoint - T-10.ppt [Compatibility Mode]

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

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

פייתון

פרויקט שורשים דמות

Slide 1

<4D F736F F D20E7E5F7E920E0E9EEE5FA20E1E8E1ECE42E646F63>

מצגת של PowerPoint

PowerPoint Presentation

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

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

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

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

The MATLAB Notebook v1.6

מבחן חוזר במכניקה 55 א יא יח""ללח פתור 3 מהשאלות 1-5 לכל שאלה 33%. חומר עזר מותר מחשבון ונוסחאון של בגרות. v m sec משך הבחינה 105 דקות. שאלה מספר 1 4

מספר מחברת: עמוד 1 מתוך 11 ת"ז: תשע"א מועד ב סמסטר א' תאריך: 00:11 שעה: 0 שעות הבחינה: משך כל חומר עזר אסור בשימוש בחינה בקורס: מבוא למדעי ה

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

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

תורת החישוביות תרגול הכנה לוגיקה ותורת הקבוצות מה יש כאן? בקורס תורת החישוביות נניח ידע בסיסי בתורת הקבוצות ובלוגיקה, והכרות עם מושגים בסיסיים כמו א"ב

סיכום הוראות Touch touchend יקרא לפונקציה כשיסתיים המגע עם הסמארטפון. - touchmove יקרא לפונקציה במהלך תזוזת המגע עם הסמארטפון. touchstart יקרא לפונקצי

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

פתרון מוצע לבחינת מה"ט ב_שפת c מועד ב אביב תשע"ט, אפריל 2019 מחברת: גב' זהבה לביא, מכללת אורט רחובות שאלה מספר 1 מוגדרת מחרוזת המורכבת מהספרות 0 עד 9.

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

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

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

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

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

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

Microsoft PowerPoint - rec1.ppt

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

Microsoft Word - lec

Microsoft Word - ExamA_Final_Solution.docx

People. Partnership. Trust מסלול Free פורטל החינוך מבית U-BTech מסלולים ומחירים חיבור לשירותי Office 365 ללא עלות פורטל התחברות הכולל ממשק למנב"ס ולסי

PowerPoint Presentation

PowerPoint Presentation

ForMenahelHeshbonot

People. Partnership. Trust שלבי הפרויקט והמסלולים השונים - פלטפורמת "קהילה לומדת" מסלול Free שלבי הפרויקט: חיבור לשירותי Office 365 ללא עלות פורטל התח

ISI

Microsoft PowerPoint - Lecture1

Microsoft Word - teachmodel1.doc

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

Microsoft Word - tips and tricks - wave 5.doc

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

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

מועד: א בחינה סופית במתמטיקה דיסקרטית משך הבחינה: 2 1 שעות מרצה: פרופ' תאופיק מנסור תאריך: סמסטר: א תשע"ח m 2 הוראות לנבחן: )1( הבחינה מו

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

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

PowerPoint Presentation

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

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

מקביליות

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

Tutorial 11

6 סיבות מדוע הכרחי לקחת אחריות על גיבוי ה Office חשיפת סיבות קריטיות מדוע ארגונים זקוקים לגיבוי נתוני ה Office 365 -

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

שעור 6

PowerPoint Presentation

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

Limit

שקופית 1

תמליל:

עצמים גרפיים ותכונותיהם שיעור מס' 9: עצמים גרפיים מהו handle graphics פקודות הגרפיקה במטלב יוצרות עצמים גרפיים. קיומם של עצמים גרפיים, תכונותיהם והיחסים ביניהם מקבלים ביטוי בתצוגה הגרפית באופן אוטומטי. לכן ההשפעה של המשתמש )או המתכנת( במטלב על הגרפיקה נעשית באמצעות יצירה, שינוי ומחיקה של עצמים גרפיים. חלק מפקודות הגרפיקה שהזכרנו עד כה יצרו עצמים גרפיים באופן עקיף. למשל, הפעלת פקודת plot כאשר אין חלון גרפי גורמת ליצירה של חלון גרפי וכן מערכת צירים אחת, שבתוכה יווצר העצם הגרפי של העקומה )במקום שהמשתמש יצטרך ליצור ע"י פקודה את החלון הגרפי וליצור ע"י פקודה נוספת את מערכת הצירים(. פקודות גרפיות ברמת המשתמש level( )high מבצעות פעולות על עצמים גרפיים שונים באופן השקוף למשתמש. למשל, פקודת plot מאתחלת את מערכת הצירים, אלא אם בוצעה לפני כן פקודת.hold לעומת זאת, פקודות גרפיות ישירות ( low )level מבצעות פעולות מוגדרות על עצם גרפי. למשל, פקודת line מוסיפה עקומה למערכת צירים )מבלי לאתחל את הצירים(. לכל עצם גרפי שנוצר, מוקצה "מזהה" )handle( שמאפשר את הגישה לעצם. המזהה הוא אובייקט )עצם( מסוג.handle אם שומרים את המזהה בתוך משתנה, כאשר עצם גרפי נמחק )אם משום שהחלון או מערכת הצירים בו היה נמחקו או אותחלו ואם באמצעת מחיקה יזומה(, המשתנה נשאר בזיכרון אבל אין אפשרות להשתמש בעצם שנשמר בו. כל פקודות השרטוט יכולות להחזיר מזהה, באמצעותו ניתן לטפל בעצם הגרפי בהמשך התוכנית. ל יצירת חלון גרפי חדש hfig = figure hfig = Figure (2) with properties: Number: 2 Name: '' Color: [0.8554 0.8554 0.8554] Position: [147 160 560 420] Units: 'pixels' hax = axes hax = Axes with properties: יצירת מערכת צירים XLim: [0 1] YLim: [0 1] XScale: 'linear' YScale: 'linear' GridLineStyle: '-' Position: [0.1300 0.1100 0.7750 0.8150] Units: 'normalized' עמ' 1 מתוך 11

hcrv = plot(1:10,rand(1,10),'ok') hcrv = Line with properties: יצירת עקומה Color: [0 0.4470 0.7410] LineStyle: 'none' LineWidth: 0.5000 Marker: 'o' MarkerSize: 6 MarkerFaceColor: 'none' XData: [1 2 3 4 5 6 7 8 9 10] YData: [1x10 double] ZData: [1x0 double] htxt = text(5,0.5,'middle') htxt = Text (Middle) with properties: יצירת טקסט String: 'Middle' FontSize: 10 FontWeight: 'normal' FontName: 'Helvetica' Color: [0 0 0] HorizontalAlignment: 'left' Position: [5 0.5000 0] Units: 'data' strc = importdata('shapes\circle1.gif') strc = cdata: [336x448 uint8] colormap: [256x3 double] himage = image(strc.cdata) himage = Image with properties: יצירת תמונה CData: [336x448 uint8] CDataMapping: 'direct' קבלת מידע על תכונות עצם גרפי inspect(hndl) hndl.propertyname hcrv.linewidth ans = 0.5000 strc = get(hndl) צפייה אינטראקטיבית בתכונות )עם אפשרות לשינוי(: קבלת ערך של תכונה מסוימת - שליפת תוכן של שדה: פקודת get קבלת ערכי כל התכונות: מתקבל structure עמ' 2 מתוך 11

get(hndl,'propertyname') get(hcrv,'markersize') ans = 6 get(hax,'colororder') ans = 0 0.4470 0.7410 0.8500 0.3250 0.0980 0.9290 0.6940 0.1250 0.4940 0.1840 0.5560 0.4660 0.6740 0.1880 0.3010 0.7450 0.9330 0.6350 0.0780 0.1840 set(hndl) set(hndl,'property') קבלת ערך של תכונה מסוימת: דוגמאות: פקודת set קבלת רשימה של כל תכונות העצם הניתנות לשינוי: קבלת רשימת כל האפשרויות הקיימות לתכונה מסוימת: שינוי תכונות עצם גראפי hndl.propertyname = value קביעת ערך של תכונה מסוימת - שינוי תוכן של שדה: hfig.color = [0.95 0.99 1]; שינוי צבע הרקע של החלון הגרפי set(hndl,'propertyname',propertyvalue) פקודת :set set(hndl,'pname1',pval1,'pname2',pval2,...) ניתן לשנות מספר תכונות בפקודה אחת, ע"י זוגות של שם תכונה וערך. set(hcrv,'markersize',8,'markerfacecolor',[1 0.8 0.9]) set(htxt,'fontsize',16,'backgroundcolor','y') עמ' 3 מתוך 11

דוגמא 1: הסקריפט d9ball מציג באופן דינאמי כדור הנע בנפילה חופשית ומתנגש ברצפה. מחשבים מראש את המסלול לסדרה של זמנים, כלומר המקום של מרכז הכדור. מחשבים גם את הקואורדיטות של פני הכדור, כאשר המרכז בראשית הצירים. מכינים מראש את השטח המוצג במערכת הצירים כך שיכלול את כל המרחב שבו נע הכדור. יוצרים שרטוט ראשוני שבו הכדור נמצא בנקודת ההתחלה והכותרת מציינת זמן 0, ושומרים את המזהים )handles( של המשטח ושל הכותרת. הצגת הכדור בלולאת הזמנים נעשית לא ע"י שרטוט מחדש של המשטח, אלא ע"י שינוי העצם הגרפי של המשטח ועדכונו בערכים המחושבים )ע"י הוספת ערך הקואורדינטות של מרכז הכדור בכל זמן לערכי הקואורדינטות של נקודות המשטח(. גם עדכון הכותרת )המציגה את ערך הזמן( נעשה ע"י הכנת מחרוזת מתאימה ועדכון המחרוזת בעצם הגרפי של כותרת הגרף. באופן זה, הצגת העקומה והכותרת בזמנים השונים נראית יותר "חלקה" ורציפה מאשר בשיטה של הפעלת פקודות surf בכל פעם. היררכיה גרפית במטלב עצמים גרפיים במטלב מאורגנים באופן היררכי: כל עצם שייך לעצם שכולל אותו )"הורה"(, כמוראה בתרשים: "שורש" הגרפיקה נוצר כאשר מטלב עולה. כל החלונות הגרפיים הם "בנים" של השורש. המזהה )handle( של השורש הוא תמיד.groot חלון גרפי. עצמים לממשק משתמש )לדוגמא כפתורים, תפריטים(. מערכות-צירים. עצמים גרפיים בסיסיים: עקומות, משטחים, טקסטים. Root Figure UI Objects Axes Primitive Objects עמ' 4 מתוך 11

קבוצות של עצמים גרפיים בסיסיים היוצרים יחד עצם גרפי מורכב. לדוגמא, סדרת עקומות Chart Objects הנוצרת מ- plot.contour עצמים גרפיים מקובצים. ניתן לקבץ עצמים כדי לבצע על כולם פעולות דומות, אבל לא כל Groups Objects הפעולות מוגדרות על צבירים מסוג זה. Colorbar, Legend מערכות צירים הכוללות מידע על גרפים במערכות צירים אחרות: Illustration Objects עצמים ב"שכבת אנוטציה" )שהיא שכבה נפרדת מן הגרפיקה הבסיסית(. Annotation Objects בקורס זה לא נתייחס לארבעת הסוגים האחרונים. בדרך כלל, לעצם ברמה נתונה משויכים מספר עצמים ב"רמת-הבת". למשל ל"שורש" יכולים להיות מספר "ילדים": כל אחד מהם חלון גרפי נפרד. בחלון גרפי יכולים להיות מספר מערכות צירים או מספר.UI Objects במערכת-צירים יכולים להיות מספר עקומות ו/או טקסטים. אחד מן ה"ילדים" הוא ה"עצם הנוכחי" object(,)current וכל פעולה גרפית מבוצעת עליו )אלא אם צוין במפורש על איזה עצם תבוצע הפעולה(. למשל אם יש כמה חלונות גרפיים וחלון מס' 2 הוא החלון הנוכחי, אז פקודת clf תאתחל את חלון מס' 2. אם יש כמה מערכות צירים בחלון מסוים ואחת מהן היא ה- axes,current אז פקודת plot תיצור עקומה במערכת צירים זו. קביעת המיקוד )מיהו ה"עצם הנוכחי"(: פתיחת חלון חדש באופן אוטומטי מעבירה את המיקוד לחלון זה figure(.)current כנ"ל יצירת מערכת צירים חדשה )בין אם באופן מפורש ובין אם ע"י פקודת שרטוט בחלון חדש( הופכת אותם לצירים הנוכחיים axes(.)current בחירה ע"י העכבר מעבירה את המיקוד לעצם שנבחר ולכל ה"הורים" שלו. כמ-כן קיימות פקודות להעברת מיקוד באופן מפורש. תכונות עם משמעות משותפת יש תכונות ספציפיות לסוגי עצמים מסוימים ויש תכונות משותפות לכל העצמים או למרביתם. מינוחים אפשרויות מינוח משמעות אחד מסוגי העצמים המוגדרים במטלב type סוג העצם RGB אחת האותיות המציינות צבע, או שלישיית color צבע inches,centimeters,normalized,points,pixels,characters units יחידות אורך. רלוונטי לתכונות כמותיות. תלוי בתכונה המשויכת לקו. בדרך כלל, צבע כמתואר למעלה. edge קו התוחם משטח תלוי בתכונה המשויכת לקו. בדרך כלל, צבע כמתואר למעלה. face משטח תחום בקו on, off visible האם העצם נראה Handle children עצמים-מתחת בהיררכיה Handle parent עצם-מעל בהיררכיה Handle current נוכחי, בפוקוס ברירת-מחדל לתכונות עצמים שמתחת בהיררכיה. תלוי בתכונה. default ברירת-מחדל עמ' 5 מתוך 11

תכונות משותפות לכל העצמים סוג העצם מחרוזת-תווים )איננה משפיעה על התצוגה(. שימושי לצורך חיפוש. מידע המשויך לעצם )אינו משפיע על התצוגה(. שימושי לצורך תכנות. האם העצם נראה. האם העצם ייכלל בתוצאות חיפוש. האם ניתן לבחור את העצם ע"י העכבר. עבור קווים, משטחים, טקסטים וכו': האם ייראו החלקים הנמצאים מחוץ למערכת הצירים. Type Tag UserData Visible HandleVisibility HitTest Clipping תכונות משותפות למספר סוגים של עצמים עבור :figure+axes צבע-הרקע. עבור :line צבע הקו. עבור :Text תכונות הטקסט בעצם. עבור :Axes תכונות טקסטים מתחת בהיררכיה, למשל כותרות צירים, טקסטים ליד השנתות וכו'. גם מקרא )legend( נחשב למערכת-צירים ולכן תכונות אלה משפיעות גם על הפונטים במקרא לעקומות. תכונות מרקרים: סימן, גודל, צבע קו תוחם וצבע מילוי )אם יש(. ניתן לשייך מרקרים גם לעקומות וגם לקווי-תיחום בעצמים שהם משטחים. Color FontName FontAngle FontSize FontUnits FontWeight Marker MarkerSize MarkerEdgeColor MarkerFaceColor להלן כמה מן התכונות של העצמים הגרפיים הבסיסיים. לא נכללות תכונות הקובעות התנהגות של ממשקי משתמש. אלה יתוארו בשיעור על תכנות ממשקי משתמש. תכונות השורש )מוניטור(: root כל החלונות במטלב נמצאים תחת root )כולל.)command window לכן ניתן לשנות דרך תכונות root תהליכים הקשורים לחלון הפקודות, לדוגמא Language,format,diary ועוד. לקבלת רשימה מלאה יש לחפש בתיעוד.root properties תכונות תצוגה: מתחילות במילה.Screen למשל.ScreenSize יחידות מידה: Units היררכיה: Chilren, CurrentFigure, PointerLocation, PointerWindow למתכנת: Tag, UserData תכונות חלון figure יצירת חלון: ע"י פקודת.figure העברת פוקוס לחלון: figure(hndl) לקבלת רשימה מלאה יש לחפש בתיעוד.figure properties עמ' 6 מתוך 11

Number מספר החלון Units,Position,Visible,Resize,Color,Name,NumberTitle,WindowStyle HandleVisibility,HitTest Children,CurrentAxes, CurrentObject DoubleBuffer,ColorMap,Pointer,CurrentPoint DockControls,UIContextMenu,MenuBar,ToolBar Tag,UserData תכונות החלון עצמו בחירה היררכיה שרטוט בחלון לממשק משתמש למתכנת תכונות מערכת צירים axes יצירת מערכת צירים: ע"י פקודת.axes העברת פוקוס למערכת צירים: axes(hndl) לקבלת רשימה מלאה יש לחפש בתיעוד.axes properties Units,Position,OuterPosition,Box,Color,FontName, FontAngle, XAxisLocation, הצירים YAxisLocation, XColor, YColor, Zcolor, XLabel, YLabel, Zlabel, TickDir Children,Parent,CurrentPoint,Visible,HandleVisibility,HitTest XLim,YLim,ZLim,CLim,CLimMode,DataAspectRatio,XDir,YDir,ZDir XTick, YTick, Ztick, ColorOrder, LineStyleOrder,XGrid, YGrid, ZGrid, GridLineStyle Tag,UserData היררכיה ונראות הצגת מידע אנוטציה למתכנת תכונות קו יצירת קו: line(x,y,'property1',value1,'property2',value2) לקבלת רשימה מלאה יש לחפש בתיעוד.line properties XData,YData,ZData Parent,Visible,HandleVisibility,HitTest,Selected,SelectedHighlight Color,LineStyle,Marker,MarkerSize,Clipping, LineWidth, MarkerEdgeColor, הקו עצמו היררכיה וניראות אופן הצגת מידע MarkerFaceColor DisplayName אנוטציה Tag,UserData למתכנת תכונות משטחים לקבלת רשימה מלאה יש לחפש בתיעוד.surface properties למשטחים יש סדרת תכונות המגדירות את המשטח )שקיפות, טקסטורה, ברק ועוד(. תכונות אלה לא נכללות כאן. XData,YData,ZData,CData Parent,Visible,HandleVisibility,HitTest,Selected,SelectedHighlight המשטח עצמו היררכיה וניראות עמ' 7 מתוך 11

FaceColor,EdgeColor,LineStyle,Marker,MarkerSize,Clipping, LineWidth, אופן הצגת מידע MarkerEdgeColor, MarkerFaceColor DisplayName Tag,UserData Position,String אנוטציה למתכנת תכונות טקסט לקבלת רשימה מלאה יש לחפש בתיעוד.text properties הטקסט עצמו Parent,Visible,HandleVisibility,HitTest,Selected,SelectedHighlight FontUnits,FontSize,FontName,FontWeight,FontAngle,Rotation, Interpreter, היררכיה וניראות אופן הצגה HorizontalAlignment, VerticalAlignment, Units, Clipping, Margin, Extent Color,BackgroundColor,LineStyle,LineWidth, Tag,UserData עיצוב למתכנת שימוש בתכונות דוגמא 2: הסקריפט d9inset מציג נתוני לידות לפי שנים וחודשים )בדומה ל- d4births (. במערכת הצירים הראשית מוצג המידע הגולמי, ואילו במערכת צירים קטנה יותר )inset( מוצגים הנתונים לאחר נרמול )נטרול מגמה כללית לפי שנים(. כמו-כן מוצגים טקסטים )אחד בצירים הראשיים ושניים ב- inset (. תכונות הטקסטים ב- inset קובעות את מיקום האותיות יחסית לקואורדינטות של נקודת העיגון באופן שונה מברירת המחדל )שהיא שמאל בציר האופקי ומרכז בציר האנכי(. גודל ה- inset מחושב כחלק יחסי )משתנה )Fraction מהצירים הראשיים. כל מערכת צירים מסומנת ב- Tag כדי להקל על זיהוי בהמשך. טיפול בעצמים גרפיים מציאת העצם בפוקוס הפקודות הבאות מחזירות מזהה handle לעצם גרפי שהוא: Current figure gcf Current axes gca Current objet gco עמ' 8 מתוך 11

strc = importdata('shapes\circle1.gif'); himage = image(strc.cdata) set(gcf,'colormap',strc.colormap) himage = Image with properties: CData: [336x448 uint8] CDataMapping: 'direct' חיפוש לפי תכונות hndl=findobj(propertyname,propertyvalue) מציאת עצם/ים שלתכונה מסוימת יש ערך מסוים. ניתן לחפש לפי מספר תכונות. מתקבלים העצמים שמקיימים hndl=findobj(p1,v1,p2,v2,p3,v3,p4,v4) את כל התנאים. ניתן להגביל את החיפוש לעצמים מסוימים )כולל ה"ילדים" hndl=findobj(parents,propname,propvalue) שלהם(. htext=findobj(gca,'type','text') מציאת כל הטקסטים השייכים למערכת הצירים הנוכחית. דוגמא 3: הפונקציה d9curve_num "מחלצת" את הנתונים הנומריים המוצגים בחלון גרפי מסוים. ראשית מוצגים הצירים שבחלון והמשתמש בוחר מאיזו מערכת צירים יילקחו הנתונים, בהנחה שלכל מערכת צירים הוצמד Tag אשר יקל על זיהוי שלה. לאחר מכן מחפשים "בנים" למערכת צירים זו שהם מסוג עקומה )כדי לא לכלול גם טקסטים(. מכל אחד מן העצמים שנמצאו מקבלים את ערכי x,y ואוספים את הנתונים במשתנה אחד מסוג.Cell Array כדוגמא להפעלת הפונקציה, נקח את קובץ השרטוט שנוצר בדוגמא מס' 2. d9curve_num('births.fig') xydata = מחיקת עצמים delete(hndl) delete(findobj(gca,'type','text')) מחיקת עצם גרפי אשר המזהה שלו.hndl אם hndl מערך של מזהים, יימחקו העצמים שאלה המזהים שלהם. מחיקת כל הטקסטים במערכת הצירים הנוכחית. עמ' 9 מתוך 11

קביעת ערכי ברירת-מחדל ערכי ברירת המחדל של עצם כלשהו הם תכונה של העצם שהם שייכים אליו בהיררכיה הגרפית. למשל, ברירת המחדל לצבע של כל מערכת צירים חדשה שנוצרת בחלון גרפי היא תכונה של החלון. מבנה הפקודה: מזהה של parent object סוג העצם עבורו מגדירים ברירת מחדל. שם התכונות עבורה מגדירים ברירת מחדל ערך ברירת המחדל למשל, כדי להגדיר גופני ברירת-מחדל לצירים: פקודות ממשק נוספות קלט גרפי set(hparent,'defaultobjtypepropname',value) Hparent ObjType PropName value set(gcf,'defaultaxesfontname','times') הפקודות הבאות עוצרות את ביצוע התוכנית ומחכות לקלט מן המשתמש )בדומה ל- input ו- menu (. לאחר סיום התהליך, הקלט עובר לסביבה הקוראת והתוכנית ממשיכה להתבצע. קלט קואורדינטות ע"י הקשת עכבר קלט של קואורדינטות של נקודות לפי הקשת עכבר על חלון עם נתונים מספריים. אם בזמן הפעלת הפקודה לא קיים חלון גרפי, אז ייפתח חלון. אם לא קיימת מערכת-צירים, אז תיווצר מערכת-צירים עם ברירת-מחדל עבור האזור הנראה בה. הקואורדינטות נתונות ביחידות של הנתונים המספריים. ביצוע התוכנית מושהה עד לסיום הקלט. יש שתי אפשרויות לסיום: קלט של n נקודות. קלט של מספר כלשהו של נקודות. הפעולה מסתיימת לאחר הקשה על מקש.ENTER קלט בתיבת טקסט [x,y] = ginput(n) [x,y] = ginput פתיחת חלון ובו מספר תיבות להכנסת טקסט + כפתורי אישור וביטול. מעל כל תיבת-טקסט יש כותרת.)prompt( לאחר שהמשתמש לוחץ על אחד הכפתורים, החלון נסגר והקלט עובר לסביבה הקוראת כמערך תאים שבו כל תא הוא הטקסט שהוזן בכל תיבה )אם נלחץ אישור( או כמערך תאים ריק )אם נלחץ ביטול(, והתוכנית ממשיכה להתבצע. עבור כל תא ב- prompt תיווצר תיבה להכנסת טקסט. ציון כותרת לחלון הממשק + מספר השורות לכל קלט ציון ערכי ברירת-מחדל לקלט: כל ערך חייב להיות מחרוזת. אם הקלט הוא יותר משורה אחת, נוצרת מטריצה של תווים ברוחב של השורה הארוכה inputs = inputdlg(prompts) inputdlg({'no. of curves' 'output file'}) inputs = inputdlg(prompts,title,nlines) inputs=inputdlg(prompts,title,nlines,defaults) Pstr = {'number of curves' 'full name'}; N = [1 ; 2]; defts = {'1' 'first-name family-name'}; inputs = inputdlg(pstr,'',n,defts) inputs{2} inputs = '5' [2x10 char] ans = Noam Cohen Dan Marom ביותר. עמ' 10 מתוך 11

הצגת תיבת הודעות יש במטלב סדרה של פקודות שמייצרות חלון במטרה להציג מידע. פקודות אלה מחזירות מזהה )handle( לחלון שנוצר, ולא עוצרות את מהלך התוכנית. דוגמא לאחת הפקודות: hndl = msgbox(message) נפתח חלון גרפי עם כפתור OK וכן טקסט כמצויין ב- message. לחיצה על הכפתור תסגור את החלון. hndl = msgbox(message,title) הצגת כותרת לחלון: hndl = msgbox(message,title,icon) הצגת צלמית: 'none' 'error' 'help' 'warn' 'custom' כאשר icon יכול להיות אחד מאלה: h = msgbox('no file was found','message','error') waitfor(h) לעצירת התוכנית עד שהעצם עם מזהה h נמחק waitfor(h,property) עצירת התוכנית עד שהעצם h משנה את תכונה property h = msgbox(message) לעצירת התוכנית עד שהמשתמש לוחץ על כפתור OK בתיבת הודעות: waitfor(h) דוגמא 4: הפוקנציה d9curve_select מאפשרת למשתמש לבחור מספר עקומות מתוך סדרת עקומות בחלון גרפי. המשתמש מציין מראש כמה עקומות ייבחרו. עבור כל עקומה, מוצגת תיבת הודעות שהמשתמש סוגר לאחר שבחר את העקומה. התוכנית מחכה כל עוד התיבה לא נסגרה. עקומה נבחרת ע"י הקשה בעכבר עליה, והיא מודגשת בקו עבה למשך כשנייה. ניתן להקיש על כמה עקומות לפני שמאשרים )האחרונה נקלטת(. כל עקומה שנבחרת נמחקת מן התצוגה )כדי למנוע בחירה חוזרת(. כאשר נבחרו עקומות כמספר שצוין, התוכנית מחזירה מערך-תאים עם כל הנתונים המספריים של העקומות שנבחרו, ומציגה בגרף רק את העקומות שנבחרו. load acid.txt כדוגמא להפעלת הפונקציה ניקח את הנתונים מהקובץ acid.txt plot acid(:,1),acid(:,2:end)) נתחיל משרטוט של כל העקומות: נפעיל את הפונקציה: curvedata=d9curve_select; עמ' 11 מתוך 11