סיכום הרצאה

‫© אגף התקשוב‪ ,‬אוניברסיטת בר אילן‬
‫ד"ר סמדר שץ‬
‫קורס תוכנת מטלב ויישומיה‬
‫קורס תוכנת מטלב ויישומיה‬
‫שיעור מס' ‪ :3‬הצגה גרפית‬
‫שרטוט עקומות‬
‫מאפייני העקומה‬
‫ברירת המחדל לעקומה היא‪ :‬צבע כחול‪ ,‬קו רציף‪ ,‬ללא סימנים (מרקרים)‪.‬‬
‫מאפייני העקומה מצוינים באמצעות ארגומנט נוסף‪' :‬צבע ו‪/‬או צורת קו ו‪/‬או סימן'‪.‬‬
‫‪blue‬‬
‫‪green‬‬
‫‪red‬‬
‫‪cyan‬‬
‫‪magenta‬‬
‫‪yellow‬‬
‫‪black‬‬
‫צבע‬
‫צורת קו‬
‫‪b‬‬
‫‪g‬‬
‫‪r‬‬
‫‪c‬‬
‫‪m‬‬
‫‪y‬‬
‫‪k‬‬
‫‪-‬‬
‫‪solid‬‬
‫‪dashed‬‬
‫‪--‬‬
‫‪dotted‬‬
‫‪:‬‬
‫‪-.‬‬
‫‪dot-dashed‬‬
‫סימנים (‪)markers‬‬
‫אם מציינים סימן‪ ,‬ברירת המחדל היא שאין קו‪.‬‬
‫אם רוצים סימן וגם קו רציף‪ ,‬יש לציין קו רציף (למרות שזו‬
‫ברירת המחדל)‪.‬‬
‫)‪triangle (right‬‬
‫)‪triangle (down‬‬
‫)‪triangle (up‬‬
‫)‪triangle (left‬‬
‫‪pentagram‬‬
‫‪hexagram‬‬
‫;)'‪Table = xlsread('births.xls‬‬
‫;)‪Years = Table(:,1‬‬
‫;)‪Births = Table(:,2:end‬‬
‫)'‪plot(Years,Births(:,1),'d‬‬
‫◄דוגמא ‪ :1‬הסקריפט ‪ d3linestyles‬מציג נתוני לידות מהלמ"ס‪.‬‬
‫סימן בלי קו‪ ,‬צבע ברירת מחדל‬
‫מקווקו‪ ,‬צבע אדום‬
‫‪star‬‬
‫‪square‬‬
‫‪diamond‬‬
‫‪point‬‬
‫‪circle‬‬
‫‪x‬‬
‫‪+‬‬
‫>‬
‫‪v‬‬
‫^‬
‫<‬
‫‪p‬‬
‫‪h‬‬
‫*‬
‫‪s‬‬
‫‪d‬‬
‫‪.‬‬
‫‪o‬‬
‫‪x‬‬
‫‪+‬‬
‫)'‪hold on, plot(Years,Births(:,2),'--r‬‬
‫)'‪plot(Years,Births(:,3),'.-‬‬
‫סימן עם קו רציף‪ ,‬צבע ברירת מחדל‬
‫)'‪plot(Years,Births(:,4),'-.ko‬‬
‫סימן עם קו‪-‬נקודה‪ ,‬צבע שחור‬
‫‪13000‬‬
‫‪12000‬‬
‫‪11000‬‬
‫‪10000‬‬
‫‪9000‬‬
‫‪8000‬‬
‫‪7000‬‬
‫‪6000‬‬
‫‪2005‬‬
‫עמ' ‪ 1‬מתוך ‪11‬‬
‫שיעור ‪3‬‬
‫‪2000‬‬
‫‪1995‬‬
‫‪1990‬‬
‫‪1985‬‬
‫‪1980‬‬
‫‪1975‬‬
‫‪5000‬‬
‫‪1970‬‬
‫מרץ ‪15‬‬
‫קורס תוכנת מטלב ויישומיה‬
‫© אגף התקשוב‪ ,‬אוניברסיטת בר אילן‬
‫ד"ר סמדר שץ‬
‫גרף פרמטרי‬
‫‪load LDGWsineGW‬‬
‫)'‪plot(T,deer,'r‬‬
‫‪hold on‬‬
‫)'‪plot(T,grass,'g‬‬
‫בתהליך התלוי במשתנה אחד (למשל‪ :‬זמן) מודדים כמה משתנים תלויים‪.‬‬
‫ניתן לשרטט את המשתנים התלויים כפונקציה של המשתנה הבלתי‪-‬תלוי‪:‬‬
‫(לדוגמא שרטוט מספר האנטילופות וכמות העשב כפונקציה של הזמן)‪.‬‬
‫‪45‬‬
‫‪40‬‬
‫‪35‬‬
‫‪30‬‬
‫‪25‬‬
‫‪20‬‬
‫‪100‬‬
‫‪80‬‬
‫‪90‬‬
‫‪70‬‬
‫‪60‬‬
‫‪40‬‬
‫‪50‬‬
‫‪20‬‬
‫‪30‬‬
‫‪10‬‬
‫‪0‬‬
‫‪15‬‬
‫)‪plot(grass,deer‬‬
‫בגרף פרמטרי משרטטים משתנה תלוי אחד כפונקציה של משתנה תלוי אחר‪.‬‬
‫(לדוגמא שרטוט מספר האנטילופות כפונקציה של כמות העשב מציג את‬
‫‪40‬‬
‫המחזוריות של התהליך)‪.‬‬
‫‪35‬‬
‫‪30‬‬
‫‪25‬‬
‫‪20‬‬
‫‪42.5‬‬
‫‪41.5‬‬
‫‪42‬‬
‫‪41‬‬
‫‪40.5‬‬
‫‪40‬‬
‫‪39‬‬
‫‪39.5‬‬
‫‪38.5‬‬
‫‪38‬‬
‫‪15‬‬
‫‪37.5‬‬
‫שרטוט כמה עקומות על מערכת צירים אחת‬
‫שרטוט עמודות במטריצה‪:‬‬
‫)‪plot(Years,Births‬‬
‫אם ‪ x‬מערך חד‪-‬ממדי ו‪ y-‬מטריצה (בעלת עמודות באורך המערך ‪,)x‬‬
‫אז כל עמודה ב‪ y-‬משורטטת כפונקציה של ‪.x‬‬
‫אם ‪ x‬ו‪ y-‬מטריצות באותם ממדים‪ ,‬אז כל עמודה ב‪ y-‬משורטטת כפונקציה של העמודה המתאימה ב‪.x-‬‬
‫ציון כל העקומות בפקודה אחת‪ :‬זוגות ‪x,y‬‬
‫)‪plot(X1,Y1,...,Xn,Yn‬‬
‫)‪plot(X1,Y1,L1,...,Xn,Yn,Ln‬‬
‫ציון עקומות ‪ +‬צורות קו‪ :‬שלשות ‪x,y,LineSpec‬‬
‫)'‪plot(Years,Births(:,1),'^-',Years,Births(:,3),'.-',Years,Births(:,5),'-.‬‬
‫אם פקודה אחת משרטטת כמה עקומות‪ ,‬אז כל עקומה מקבלת צבע אחר‪ ,‬לפי סדר‬
‫‪13000‬‬
‫ברירת ‪-‬המחדל‪.‬‬
‫‪12000‬‬
‫‪11000‬‬
‫‪10000‬‬
‫‪9000‬‬
‫‪8000‬‬
‫‪7000‬‬
‫‪2005‬‬
‫עמ' ‪ 2‬מתוך ‪11‬‬
‫שיעור ‪3‬‬
‫‪2000‬‬
‫‪1995‬‬
‫‪1990‬‬
‫‪1985‬‬
‫‪1980‬‬
‫‪1975‬‬
‫‪6000‬‬
‫‪1970‬‬
‫מרץ ‪15‬‬
‫© אגף התקשוב‪ ,‬אוניברסיטת בר אילן‬
‫ד"ר סמדר שץ‬
‫קורס תוכנת מטלב ויישומיה‬
‫‪hold on‬‬
‫מעבר ממצב של "פקודת שרטוט חדשה מוחקת גרפים קודמים" למצב של "גרפים‬
‫מצטברים"‪.‬‬
‫חזרה למצב של "מחיקת הקודם"‪.‬‬
‫‪hold off‬‬
‫מעבר למצב של "גרפים מצטברים"‪ ,‬כאשר עקומות חדשות משורטטות בצבעים‬
‫‪hold all‬‬
‫שונים‪.‬‬
‫שרטוט עקומות במרחב‬
‫)‪plot3(x,y,z‬‬
‫בדומה לעקומות במישור‪ ,‬משרטטים עקומות במרחב ע"י ציון ‪ 3‬הקואורדינטות ‪( +‬אופציונלי) צורת‪-‬קו‪.‬‬
‫◄דוגמא ‪ :2‬שרטוט סליל ע"י גרף פרמטרי‪.‬‬
‫מעגל במישור ברדיוס ‪:r‬‬
‫;‪3‬‬
‫;)‪linspace(0,5,150‬‬
‫;)‪r*cos(2*pi*t‬‬
‫;)‪r*sin(2*pi*t‬‬
‫)‪1; plot3(x,y,v*t‬‬
‫בסליל‪ ,‬תנועה במישור מלווה גם בהתקדמות כלפי מעלה‪.‬‬
‫=‬
‫=‬
‫=‬
‫=‬
‫=‬
‫‪ = v‬יחס המתיחה‪ ,‬כלומר המרחק האנכי לכל סיבוב במישור‪.‬‬
‫‪r‬‬
‫‪t‬‬
‫‪x‬‬
‫‪y‬‬
‫‪v‬‬
‫‪5‬‬
‫‪4‬‬
‫‪3‬‬
‫‪2‬‬
‫‪1‬‬
‫‪0‬‬
‫‪3‬‬
‫‪2‬‬
‫‪3‬‬
‫‪1‬‬
‫‪2‬‬
‫‪0‬‬
‫‪1‬‬
‫‪0‬‬
‫‪-1‬‬
‫‪-1‬‬
‫‪-2‬‬
‫‪-2‬‬
‫‪-3‬‬
‫‪-3‬‬
‫אנוטציה‬
‫כותרת לגרף‬
‫)'‪title('text‬‬
‫כותרת לציר ‪x‬‬
‫)'‪xlabel('text‬‬
‫כותרת לציר ‪y‬‬
‫)'‪ylabel('text‬‬
‫)'‪text(x,y,'text‬‬
‫טקסט במקום חופשי‬
‫)‪text(x,y,'text','p1','v1','p2','v2'...vn,pn‬‬
‫ציון תכונות טקסט‬
‫שם התכונה ‪pn‬‬
‫ערכים אפשריים עבור ‪vn‬‬
‫הסבר‬
‫'‪ 'FontName‬שם גופן‬
‫לפי הקיים במערכת‬
‫'‪ 'FontSize‬גודל הגופן (בנקודות)‬
‫מספר (לפי אפשרויות המערכת)‬
‫'‪color of letters 'color‬‬
‫כמו ציון צבעי עקומות‬
‫'‪thickness of letters 'Fontweight‬‬
‫'‪ 'Rotation‬זווית סיבוב נגד כיוון השעון (מעלות)‬
‫'‪'bold' 'demi' 'light' 'normal‬‬
‫מספר‬
‫אפשר להוסיף תכונות אלה לכל סוגי הטקסט (גם כותרות לצירים ולגרף)‪.‬‬
‫הוספת מקרא‪:‬‬
‫בחירת מיקום המקרא‪:‬‬
‫)‪legend('curve1','curve2',...‬‬
‫)'‪legend('curve1','curve2',...,'location','loc‬‬
‫אפשרויות עבור '‪:'loc‬‬
‫כיוונים בתוך מערכת הצירים‪:‬‬
‫כיוונים משניים‬
‫עמ' ‪ 3‬מתוך ‪11‬‬
‫'‪'north' 'south' 'eat' 'west‬‬
‫'‪'northeast' 'northwest' 'southeast' 'southwest‬‬
‫שיעור ‪3‬‬
‫מרץ ‪15‬‬
‫ד"ר סמדר שץ‬
‫קורס תוכנת מטלב ויישומיה‬
‫כיוונים מחוץ לצירים‪:‬‬
‫© אגף התקשוב‪ ,‬אוניברסיטת בר אילן‬
‫‪'northOutSide' 'northEastOutSide' etc.‬‬
‫'‪'Best‬‬
‫הבחירה הטו בה ביותר (אוטומטית) למזער "התנגשות" עם הנתונים‬
‫הסתרת מקרא קיים (בלי לבטלו)‬
‫)'‪legend('hide‬‬
‫ביטול הסתרה‬
‫)'‪legend('show‬‬
‫)'‪legend('boxoff‬‬
‫ביטול מסגרת סביב המקרא‬
‫)'‪legend('boxon‬‬
‫החזרת מסגרת סביב המקרא (ברירת מחדל)‬
‫◄דוגמא ‪ :3‬סקריפט ‪ d3oscilations‬לשרטוט‬
‫‪data from ecology files‬‬
‫‪65‬‬
‫סימולציה של מערכת אקולוגית‪.‬‬
‫‪vi o‬‬
‫‪r‬‬
‫הסקריפט קורא מידע משלושה קבצים‪ ,‬ובכל אחד‬
‫‪60‬‬
‫‪beh‬‬
‫‪a‬‬
‫מהם משרטט את התלות של אוכלוסיית האנטילופות‬
‫‪55‬‬
‫‪ked‬‬
‫‪regular‬‬
‫‪45‬‬
‫‪40‬‬
‫‪deer population‬‬
‫‪pea‬‬
‫בזמן‪.‬‬
‫‪50‬‬
‫‪35‬‬
‫‪30‬‬
‫‪LDGWpeaks‬‬
‫‪LDGWsine‬‬
‫‪LDGWsineG‬‬
‫‪100‬‬
‫‪90‬‬
‫‪80‬‬
‫‪70‬‬
‫‪60‬‬
‫‪50‬‬
‫‪40‬‬
‫‪30‬‬
‫‪20‬‬
‫‪10‬‬
‫‪0‬‬
‫‪25‬‬
‫‪year‬‬
‫מערכות צירים‬
‫חלונות גרפיים‬
‫כל הפקודות המשרטטות עקומות ומוסיפות טקסט פועלות על החלון הגרפי הנמצא "למעלה" או "בפוקוס"‪ .‬כל חלון מצוין במספר‪.‬‬
‫(עוד על גישה לחלונות גרפיים‪ ,‬בשיעור על עצמים גרפיים)‪.‬‬
‫‪figure‬‬
‫פתיחת חלון חדש (והעברת הפוקוס אליו)‪.‬‬
‫תכונות חלון‪ :‬זוגות של שם תכונה וערך תכונה‪.‬‬
‫ציון שם לחלון‬
‫פתיחת חלון ללא ציון מספר החלון על המסגרת שלו‬
‫)'‪figure('p1','v1',...'pn','vn‬‬
‫)'‪figure('name','text‬‬
‫)'‪figure('numbertitle','off‬‬
‫‪h = figure‬‬
‫קבלת מס' החלון החדש‬
‫)‪close(h‬‬
‫סגירת חלון מסוים‬
‫‪close‬‬
‫סגירת חלון נוכחי‬
‫סגירת כל החלונות הגרפיים‬
‫‪close all‬‬
‫מעבר לחלון מסוים (יימצא "בפוקוס")‬
‫)‪figure(h‬‬
‫‪clf‬‬
‫אתחול חלון קיים‬
‫עמ' ‪ 4‬מתוך ‪11‬‬
‫שיעור ‪3‬‬
‫מרץ ‪15‬‬
‫קורס תוכנת מטלב ויישומיה‬
‫© אגף התקשוב‪ ,‬אוניברסיטת בר אילן‬
‫ד"ר סמדר שץ‬
‫מערכות צירים על פלוט אחד‬
‫ניתן להגדיר כמה מערכות‪ -‬צירים בחלון גרפי אחד‪ .‬כל הפקודות המשרטטות עקומות ומוסיפות טקסט פועלות על מערכת הצירים‬
‫הנמצאת "בפוקוס"‪.‬‬
‫)‪subplot(rows,cols,idx‬‬
‫החלון הגרפי מחולק ל‪ rowsXcols-‬מערכות צירים‪ .‬הפוקוס במערכת צירים מס' ‪.idx‬‬
‫הספרור נעשה לפי שורות‪:‬‬
‫‪1‬‬
‫‪2‬‬
‫‪3‬‬
‫‪4‬‬
‫‪5‬‬
‫‪6‬‬
‫כדי לשנות פוקוס למערכת צירים אחרת באותו "סידור"‪ ,‬יש להפעיל שוב את הפקודה עם אותם מספרים עבור שורות ועמודות אבל‬
‫מספר שונה עבור האינדקס‪ .‬הפעלת הפקודה (באותו חלון גרפי) עם מספר שונה של שורות או עמודות מבטלת את ה"סידור" הקיים‬
‫(ומוחקת גרפים קיימים אם היו)‪.‬‬
‫)]‪subplot(rows,cols,]idx1 idx2‬‬
‫ניתן גם "לאחד" צירים בסידור קיים‪ ,‬אם הם סמוכים‪:‬‬
‫האזור הנראה בגרף‬
‫הפקודות הבאות משאירות מידע גרפי קיים כפי שהוא‪ ,‬אבל משנות את האופן שבו הוא מוצג ל"צופה"‪.‬‬
‫)]‪axis([xmin,xmax,ymin,ymax‬‬
‫קביעת האזור במישור‬
‫קביעת גבולות ציר ‪x‬‬
‫)]‪xlim([xmin xmax‬‬
‫קביעת גבולות ציר ‪y‬‬
‫)]‪ylim([ymin ymax‬‬
‫‪axis auto‬‬
‫חזרה לקביעת אזור אוטומטית‬
‫‪axis manual‬‬
‫"הקפאת" הגבולות במצב הנוכחי (כך שעקומות נוספות לא משנות‬
‫את הגבולות)‬
‫קביעת גבולות הצירים לפי ערכי הקיצון של הנתונים‪.‬‬
‫‪axis tight‬‬
‫אותן יחידות לציר ‪ x‬ולציר ‪y‬‬
‫‪axis equal‬‬
‫הוספת קווי אורך ורוחב‬
‫‪grid on‬‬
‫הורדת קווי אורך ורוחב‬
‫‪grid off‬‬
‫בגרף תלת ממדי‪:‬‬
‫)]‪zlim([zmin,zmax‬‬
‫ציר ‪z‬‬
‫)]‪axis([xmin,xmax,ymin,ymax,zmin,zmax‬‬
‫גבולות כל המרחב‬
‫)‪view(az,el‬‬
‫קביעת זווית המבט‪:‬‬
‫‪ = azimuth‬זווית הצופה במישור ‪xy‬‬
‫‪ = elevation‬זווית הצופה מעל מישור ‪xy‬‬
‫ללא קלט‪ :‬קבלת מידע על המצב הנוכחי‬
‫)]‪view([ax el‬‬
‫‪xlm = xlim‬‬
‫‪[az el]=view‬‬
‫◄דוגמא ‪ :4‬ארגון נתונים ושליפת חתכים מתוך ‪.ecologyGLtable.txt‬‬
‫האנטילופות בסימולציה מסוימת‪ ,‬כפונקציה של של המספר ההתחלתי של אריות ושל‬
‫אמפליטודת התנודות‬
‫הכמות ההתחלתית של עשב‪ .‬הטבלה מאורגנת באופן הבא‪:‬‬
‫באוכלוסיית האנטילופות עבור‬
‫מספר אריות נתון וכמות עשב‬
‫נתונה‪.‬‬
‫עמ' ‪ 5‬מתוך ‪11‬‬
‫שיעור ‪3‬‬
‫מספר אריות‬
‫הקובץ בשם ‪ ecologyGLtable.txt‬כולל טבלה של אמפליטודת התנודות באוכלוסיית‬
‫כמות התחלתית של עשב‬
‫‪N/A‬‬
‫מרץ ‪15‬‬
‫© אגף התקשוב‪ ,‬אוניברסיטת בר אילן‬
‫ד"ר סמדר שץ‬
‫קורס תוכנת מטלב ויישומיה‬
‫הסקריפט ‪ d3ecology‬מציג ערכים אלה בשתי צורות‪:‬‬
‫של כמות התחלתית של עשב‪.‬‬
‫‪10‬‬
‫‪g0=39.7‬‬
‫‪g0=39.9‬‬
‫‪g0=40.1‬‬
‫‪g0=40.2‬‬
‫‪g0=40.3‬‬
‫ב‪ .‬כפונקציה של ערכי כמות התחלתית של עשב‪,‬‬
‫עבור כמה ערכים של מספר אריות‪.‬‬
‫‪5‬‬
‫‪18‬‬
‫‪20‬‬
‫‪14‬‬
‫‪16‬‬
‫‪10‬‬
‫‪12‬‬
‫‪6‬‬
‫‪8‬‬
‫‪4‬‬
‫‪deer population amplitude‬‬
‫א‪ .‬כפונקציה של מספר האריות‪ ,‬עבור כמה ערכים‬
‫‪0‬‬
‫‪Initial lions‬‬
‫‪5‬‬
‫‪40.6‬‬
‫‪40.4‬‬
‫‪40.5‬‬
‫‪40.3‬‬
‫‪40.1‬‬
‫‪40.2‬‬
‫‪40‬‬
‫‪39.9‬‬
‫‪39.8‬‬
‫‪39.7‬‬
‫‪deer population amplitude‬‬
‫‪L0=4‬‬
‫‪L0=7‬‬
‫‪L0=10‬‬
‫‪L0=13‬‬
‫‪L0=16‬‬
‫‪L0=19‬‬
‫‪10‬‬
‫‪0‬‬
‫‪39.6‬‬
‫‪Initial grass amount‬‬
‫גרפים לוגריתמיים‬
‫ציר ‪ x‬ליניארי‪ ,‬ציר ‪ y‬לוגריתמי‬
‫)‪semilogy(x,y‬‬
‫ציר ‪ y‬ליניארי‪ ,‬ציר ‪ x‬לוגריתמי‬
‫)‪semilogx(x,y‬‬
‫)‪loglog(x,y‬‬
‫שני הצירים לוגריתמיים‬
‫◄דוגמא ‪ :5‬הסקריפט ‪ d3logplot‬מדגים כיצד הצגה גרפית מתאימה יכולה לזהות את סוג הפונקציה‪.‬‬
‫‪linear plot‬‬
‫‪log x plot‬‬
‫‪1‬‬
‫‪1‬‬
‫‪linear‬‬
‫‪exponential‬‬
‫‪power law‬‬
‫‪logarithmic‬‬
‫‪0.8‬‬
‫‪0.6‬‬
‫‪0.6‬‬
‫‪0.4‬‬
‫‪0.4‬‬
‫‪0.2‬‬
‫‪0.2‬‬
‫‪0‬‬
‫‪0‬‬
‫‪10‬‬
‫‪log-log plot‬‬
‫‪0.8‬‬
‫‪3‬‬
‫‪2‬‬
‫‪2.5‬‬
‫‪1.5‬‬
‫‪1‬‬
‫‪log y plot‬‬
‫‪0‬‬
‫‪0‬‬
‫‪10‬‬
‫‪10‬‬
‫‪-1‬‬
‫‪-1‬‬
‫‪10‬‬
‫‪10‬‬
‫‪-2‬‬
‫‪0‬‬
‫‪10‬‬
‫‪10‬‬
‫‪0‬‬
‫‪-2‬‬
‫‪3‬‬
‫‪2‬‬
‫‪2.5‬‬
‫‪1.5‬‬
‫‪1‬‬
‫‪10‬‬
‫הדפסה ושמירה לקובץ‬
‫‪print‬‬
‫הדפסת החלון הנוכחי למדפסת ברירת מחדל‪:‬‬
‫שמירה לקובץ‬
‫עמ' ‪ 6‬מתוך ‪11‬‬
‫‪print filename device‬‬
‫שיעור ‪3‬‬
‫מרץ ‪15‬‬
‫קורס תוכנת מטלב ויישומיה‬
‫© אגף התקשוב‪ ,‬אוניברסיטת בר אילן‬
‫ד"ר סמדר שץ‬
‫דוגמאות לפורמטים גרפיים‪ :‬ערכים עבור ‪device‬‬
‫‪BMP 24-bit -dbmp‬‬
‫‪EPS black and white -deps‬‬
‫‪JPEG 24-bit -djpeg‬‬
‫‪PDF Color PDF file -dpdf‬‬
‫‪print mypic -djpeg‬‬
‫דוגמא לשמירת קובץ בפורמט ‪:jpeg‬‬
‫יווצר קובץ בשם ‪mypic.jpg‬‬
‫הצגה גרפית של משטחים‬
‫שרטוט משטחים במרחב‬
‫הצגה גיאומטרית של מטריצה ‪ : M‬ערך תא במטריצה מיוצג ע"י גובה מעל הנקודה המתאימה במישור‪.‬‬
‫)‪mesh(M‬‬
‫רשת מעל מישור ‪xy‬‬
‫לדוגמא נציג את ערכי האמפליטודה מקובץ‬
‫)‪mesh(Amp‬‬
‫‪ecologyGLtable.txt‬‬
‫)‪xlabel('along row','fontsize',16‬‬
‫)‪ylabel('along column','fontsize',16‬‬
‫‪18‬‬
‫‪16‬‬
‫‪14‬‬
‫‪12‬‬
‫‪10‬‬
‫‪8‬‬
‫‪6‬‬
‫‪4‬‬
‫‪2‬‬
‫‪0‬‬
‫‪20‬‬
‫‪12‬‬
‫‪15‬‬
‫‪10‬‬
‫‪10‬‬
‫‪8‬‬
‫‪6‬‬
‫‪5‬‬
‫‪4‬‬
‫‪2‬‬
‫‪0‬‬
‫‪0‬‬
‫‪along column‬‬
‫‪along row‬‬
‫)‪surf(M‬‬
‫משטח רציף‬
‫)‪surf(x,y,M‬‬
‫ציון ערכים נתונים לאורך צירי ‪x,y‬‬
‫לדוגמא נציג את ערכי האמפליטודות כפונקציה‬
‫של כמות העשב ומספר האריות‪.‬‬
‫)‪surf(g0,L0,Amp‬‬
‫)‪xlabel('g0','fontsize',16‬‬
‫)‪ylabel('L0','fontsize',16‬‬
‫‪axis tight‬‬
‫‪16‬‬
‫‪14‬‬
‫‪12‬‬
‫‪10‬‬
‫‪8‬‬
‫‪6‬‬
‫‪4‬‬
‫‪2‬‬
‫‪0‬‬
‫‪20‬‬
‫‪40.6‬‬
‫‪15‬‬
‫‪40.4‬‬
‫‪40.2‬‬
‫‪10‬‬
‫‪40‬‬
‫‪39.8‬‬
‫‪39.6‬‬
‫‪g0‬‬
‫עמ' ‪ 7‬מתוך ‪11‬‬
‫שיעור ‪3‬‬
‫‪5‬‬
‫‪L0‬‬
‫מרץ ‪15‬‬
‫קורס תוכנת מטלב ויישומיה‬
‫© אגף התקשוב‪ ,‬אוניברסיטת בר אילן‬
‫ד"ר סמדר שץ‬
‫)‪mesh(X,Y,M‬‬
‫משטח כללי במרחב (גרף פרמטרי)‬
‫ייצוג מישורי של מטריצה‬
‫ייצוג ערכי מטריצה על פני מישור‪ ,‬כאשר המבט אנכי (ה"צופה" נמצא בערך חיובי של ‪ z‬ומסתכל אל מישור ‪.)xy‬‬
‫)‪pcolor(M‬‬
‫מפת צבעים‪ :‬ערך כל תא "ממופה" לצבע‪.‬‬
‫)‪pcolor(x,y,M‬‬
‫ציון ערכים נתונים לאורך צירי ‪x,y‬‬
‫‪shading flat‬‬
‫סילוק קווי המתאר‬
‫‪shading interp‬‬
‫החלקת צבעי המשבצות (אינטרפולציה)‬
‫)‪contour(M‬‬
‫קווים שווי‪-‬ערך‬
‫)‪contour(x,y,M‬‬
‫ציון ערכים נתונים לאורך צירי ‪x,y‬‬
‫שרטוט ‪ n‬קווים שווי‪-‬ערך‬
‫)‪contour(M,n‬‬
‫שרטוט קווים שערכיהם נתונים במערך ‪v‬‬
‫)‪contour(M,v‬‬
‫‪colorbar‬‬
‫הצגת מקרא לצבעים‬
‫הצגה גרפית של פונקציה של שני ארגומנטים‬
‫פונקציה של שני ארגומנטים היא התאמה בין נקודה במישור )‪ (x,y‬לערך מספרי‪ .‬כדי להציג גרפית פונקציה כזאת‪ ,‬יש לייצר שריג‬
‫של נקודות שהן כל הצירופים של כל הערכים מסדרה של ערכי ‪ x‬עם כל הערכים מסדרה של ערכי ‪.y‬‬
‫הפקודות הבאות מייצרות שריג של ערכי ‪ x,y‬בהינתן מערכים חד‪-‬ממדיים של ערכים לאורך הצירים ‪.x,y‬‬
‫)‪[Xn,Yn] = ndgrid(xg,yg‬‬
‫)‪[xa,ya]=ndgrid(1:3,11:14‬‬
‫= ‪xa‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪2‬‬
‫‪2‬‬
‫‪2‬‬
‫‪2‬‬
‫‪3‬‬
‫‪3‬‬
‫‪3‬‬
‫‪3‬‬
‫= ‪ya‬‬
‫‪11‬‬
‫‪12‬‬
‫‪13‬‬
‫‪14‬‬
‫‪11‬‬
‫‪12‬‬
‫‪13‬‬
‫‪14‬‬
‫‪11‬‬
‫‪12‬‬
‫‪13‬‬
‫‪14‬‬
‫‪y‬‬
‫‪x1,yM‬‬
‫‪x1,y2‬‬
‫‪x1,y1‬‬
‫‪x2,yM‬‬
‫‪x2,y2‬‬
‫‪x2,y1‬‬
‫‪xN,yM‬‬
‫‪xN,y1 xN,y2‬‬
‫)‪[Xm,Ym] = meshgrid(xg,yg‬‬
‫)‪[xb,yb]=meshgrid(1:3,11:14‬‬
‫= ‪xb‬‬
‫‪1‬‬
‫‪2‬‬
‫‪3‬‬
‫‪1‬‬
‫‪2‬‬
‫‪3‬‬
‫‪1‬‬
‫‪2‬‬
‫‪3‬‬
‫‪1‬‬
‫‪2‬‬
‫‪3‬‬
‫= ‪yb‬‬
‫‪11‬‬
‫‪11‬‬
‫‪11‬‬
‫‪12‬‬
‫‪12‬‬
‫‪12‬‬
‫‪13‬‬
‫‪13‬‬
‫‪13‬‬
‫‪14‬‬
‫‪14‬‬
‫‪14‬‬
‫‪x‬‬
‫‪x‬‬
‫‪xN,y1‬‬
‫‪x2,y1‬‬
‫‪x1,y1‬‬
‫‪xN,y2‬‬
‫‪x2,y2‬‬
‫‪x1,y2‬‬
‫‪xN,yM‬‬
‫‪x1,yM x2,yM‬‬
‫‪y‬‬
‫פקודת ‪ meshgrid‬מתאימה להצגה גרפית‪ ,‬מאחר ש‪ x-‬משתנה לאורך הציר האופקי (כמקובל במערכות צירים)‪.‬‬
‫עמ' ‪ 8‬מתוך ‪11‬‬
‫שיעור ‪3‬‬
‫מרץ ‪15‬‬
‫© אגף התקשוב‪ ,‬אוניברסיטת בר אילן‬
‫ד"ר סמדר שץ‬
‫קורס תוכנת מטלב ויישומיה‬
‫◄דוגמא ‪ :6‬תבנית התאבכות משני מקורות נקודתיים‪.‬‬
‫השדה ממקור נקודתי במרחק ‪ r‬ממנו נתון ע"י )‬
‫‪2r‬‬
‫‪‬‬
‫‪1‬‬
‫‪r‬‬
‫(‪ . sin‬השדה בכל נקודות המישור הוא סכום השדות משני מקורות נקודתיים‪.‬‬
‫נחשב את השדה באזור במישור משני מקורות הנמצאים במקומות ‪.y=0, x=±2‬‬
‫הסקריפט ‪ d3pattern‬מציג את עוצמת השדה בשתי צורות‪ :‬כמפת צבעים וכקווים שווי‪-‬ערך‪.‬‬
‫‪Interference pattern in psudocolor map‬‬
‫‪10‬‬
‫‪6‬‬
‫‪8‬‬
‫‪4‬‬
‫‪6‬‬
‫‪y‬‬
‫‪2‬‬
‫‪4‬‬
‫‪0‬‬
‫‪2‬‬
‫‪10‬‬
‫‪6‬‬
‫‪8‬‬
‫‪4‬‬
‫‪2‬‬
‫‪-2‬‬
‫‪0‬‬
‫‪x‬‬
‫‪-6‬‬
‫‪-4‬‬
‫‪-8‬‬
‫‪0‬‬
‫‪-10‬‬
‫‪Interference pattern in contour plot‬‬
‫‪10‬‬
‫‪8‬‬
‫‪6‬‬
‫‪y‬‬
‫‪4‬‬
‫‪2‬‬
‫‪10‬‬
‫‪8‬‬
‫‪6‬‬
‫‪4‬‬
‫‪2‬‬
‫‪-2‬‬
‫‪0‬‬
‫‪x‬‬
‫‪-4‬‬
‫‪-6‬‬
‫‪-8‬‬
‫‪0‬‬
‫‪-10‬‬
‫עבודה עם צבעים‬
‫שיטות לייצוג צבעים‬
‫ייצוג צבע‪ :‬ע"י שלשה ‪RGB‬‬
‫ערכים אפשריים עבור ‪[0 1] :double‬‬
‫ערכים אפשריים עבור ‪[0 255] :uint8‬‬
‫שיוך צבעים למשטחים‬
‫קיימות שתי שיטות לקביעת צבע של כל משבצת (במשטחים) או עקומה (ב‪:)contour-‬‬
‫א‪ .‬קביעת צבע ע"י שלשת ‪ :)TrueColor( RGB‬לכל משבצת במשטח יש לספק שלשה‪ .‬המידע על הצבע הוא מערך תלת‪-‬ממדי‬
‫‪ nXmX3‬כאשר ‪ nXm‬ממדי המטריצה המייצגת את המשטח‪.‬‬
‫ב‪ .‬קביעת צבע ע"י מפת‪-‬צבעים ‪ : colormap‬כל צבע מצוין ע"י מספר שלם‪ ,‬שהוא האינדקס (המיקום) של הצבע במפת‪-‬‬
‫הצבעים‪ .‬מפת הצבעים היא מערך ‪ ,nX3‬כאשר כל שורה במערך היא שלשת ‪ double( RGB‬בתחום ]‪ .)[0 1‬האורך‬
‫המקסימלי האפשרי של מפת צבעים הוא ‪.256‬‬
‫כיצד נקבע המיפוי‪ :‬טווח הנתונים (בין מינימום למקסימום) מחולק לקטעים שווים‪ ,‬כמספר השורות במפת הצבעים‪.‬כל הנקודות‬
‫בערכים הכלולים במקטע מס' ‪ n‬ממופות לצבע מס' ‪ n‬במפת הצבעים‪.‬‬
‫ברירת מחדל להצגת מטריצות‪ ,‬בהעדר מידע על צבעים‪ :‬שימוש בערכי המטריצה גם לגובה וגם לציון צבע‪ ,‬ע"י מיפוי הערך לצבעים‬
‫במפת‪-‬צבעים‪.‬‬
‫‪cmap = colormap‬‬
‫מציאת מפת‪-‬הצבעים הקיימת‪:‬‬
‫עמ' ‪ 9‬מתוך ‪11‬‬
‫שיעור ‪3‬‬
‫מרץ ‪15‬‬
‫קורס תוכנת מטלב ויישומיה‬
‫© אגף התקשוב‪ ,‬אוניברסיטת בר אילן‬
‫ד"ר סמדר שץ‬
‫‪colormap mapname‬‬
‫שינוי מפת צבעים לאחת מהאפשרויות הקיימות במטלב‬
‫)‪mapname(n‬‬
‫חישוב מפת ‪-‬צבעים באורך ‪ n‬מתוך אחת האפשרויות‬
‫)‪colormap(M‬‬
‫שימוש במפת ‪-‬צבעים מחושבת ‪M‬‬
‫)]‪caxis([minval,maxval‬‬
‫שינוי גבולות המיפוי‬
‫)‪surf(M,C‬‬
‫שינוי ברירת מחדל לצבעים‪ :‬ציון צבע לכל משבצת‪.‬‬
‫))‪surf(x,y,z,abs(z‬‬
‫‪shading flat, colormap jet‬‬
‫‪view(-160,30), axis tight‬‬
‫)]‪caxis([0 0.5‬‬
‫אם ‪ C‬מערך דו‪-‬ממדי‪ ,‬אז שיוך הצבע נעשה לפי מיפוי‪.‬‬
‫‪6‬‬
‫‪5‬‬
‫‪4‬‬
‫‪3‬‬
‫‪2‬‬
‫‪1‬‬
‫‪0‬‬
‫‪0‬‬
‫‪2‬‬
‫‪4‬‬
‫‪-1‬‬
‫‪6‬‬
‫‪8‬‬
‫‪10‬‬
‫אם ‪ C‬מערך תלת‪-‬ממדי בעל ‪ 3‬מישורים‪,‬‬
‫;)‪C = cat(3,(z-3).^2/6,X.^2/100,Y.^2/100‬‬
‫‪surf(x,y,z,C), shading flat‬‬
‫אז הצבע נקבע ע"י ערכי ‪ RGB‬של שלושת‬
‫‪view(-160,30), axis tight‬‬
‫המישורים‪.‬‬
‫עמ' ‪ 10‬מתוך ‪11‬‬
‫‪-10‬‬
‫‪-8‬‬
‫‪-6‬‬
‫‪-4‬‬
‫‪-2‬‬
‫‪0‬‬
‫‪2‬‬
‫‪4‬‬
‫‪6‬‬
‫‪8‬‬
‫‪10‬‬
‫שיעור ‪3‬‬
‫מרץ ‪15‬‬
‫קורס תוכנת מטלב ויישומיה‬
‫© אגף התקשוב‪ ,‬אוניברסיטת בר אילן‬
‫ד"ר סמדר שץ‬
‫◄דוגמא ‪ :7‬הסקריפט ‪ d3colormap‬מציג מפת‪-‬צבעים בשתי צורות‪.‬‬
‫;)‪clrmap = hsv(32‬‬
‫‪d3colormap‬‬
‫‪1‬‬
‫‪0.8‬‬
‫‪0.4‬‬
‫‪rgb values‬‬
‫‪0.6‬‬
‫‪0.2‬‬
‫‪30‬‬
‫‪25‬‬
‫‪20‬‬
‫‪15‬‬
‫‪colormap entry‬‬
‫‪10‬‬
‫‪5‬‬
‫‪30‬‬
‫‪25‬‬
‫‪20‬‬
‫‪15‬‬
‫‪colormap entry‬‬
‫‪10‬‬
‫‪5‬‬
‫‪0‬‬
‫‪2‬‬
‫‪1.8‬‬
‫‪1.4‬‬
‫‪visual color‬‬
‫‪1.6‬‬
‫‪1.2‬‬
‫‪1‬‬
‫עבודה עם תמונות‬
‫תמונה = מפת צבעים שבה כל ערך מיוצג ע"י פיקסל אחד במסך‪.‬‬
‫קריאת תמונות‪:‬‬
‫קריאת מטריצת ‪RGB‬‬
‫קריאת מטריצת אינדקסים ‪ +‬מפת צבעים‬
‫;)'‪C = imread('filename‬‬
‫;)'‪[cmat,cmap]= imread('filename‬‬
‫אופן הייצוג בקובץ נקבע ע"י הפורמט הגרפי‪.‬‬
‫הצגת תמונות‪:‬‬
‫)‪image(C‬‬
‫הצגת מטריצה ‪ C‬כתמונה‪:‬‬
‫מיפוי לקואורדינטות‪:‬‬
‫)‪image([xmin,xmax],[ymin,ymax],C‬‬
‫שינוי כיוון הצירים בהתאם למוסכמות של תמונה‬
‫‪axis image‬‬
‫הצגת תמונה כאשר ערכי ‪ C‬אינדקסים למפת צבעים‬
‫)‪imagesc(C‬‬
‫מיפוי לקואורדינטות‪:‬‬
‫התאמה לאזור נתון של מפת הצבעים‪:‬‬
‫)‪imagesc(x,y,C‬‬
‫)]‪imagesc(C,[imin,imax‬‬
‫הערה‪ :‬אפשרויות נוספות להצגת תמונות נמצאות ב‪ ,Image Processong Toolbox-‬כלי ייעודי לעיבוד תמונה של מטלב‪.‬‬
‫עמ' ‪ 11‬מתוך ‪11‬‬
‫שיעור ‪3‬‬
‫מרץ ‪15‬‬