שרטוט עקומות מאפייני העקומה שיעור מס' 3: הצגה גרפית ברירת המחדל לעקומה היא: צבע כחול, קו רציף, ללא סימנים )מרקרים(. מאפייני העקומה מצוינים באמצעות ארגומנט נוסף: 'צבע ו/או צורת קו ו/או סימן'. צורת קו צבע - solid b blue -- dashed g green : dotted r red -. dot-dashed c cyan m magenta y yellow k black סימנים )markers( * star > triangle (right) אם מציינים סימן, ברירת המחדל s square v triangle (down) היא שאין קו. d diamond ^ triangle (up) אם רוצים סימן וגם קו רציף, יש לציין. point < triangle (left) קו רציף )למרות שזו ברירת o circle p pentagram המחדל(. x x h hexagram + + Table = xlsread('births.xls'); דוגמא: מרשם התושבים Years = Table(:,); Births = Table(:,:end); plot(years,births(:,),'d') סימן בלי קו, צבע ברירת מחדל hold on, plot(years,births(:,),'--r') מקווקו, צבע אדום plot(years,births(:,3),'.-') סימן עם קו רציף, צבע ברירת מחדל שיעור 3 עמ' מתוך
plot(years,births(:,),'-.ko') סימן עם קו-נקודה, צבע שחור 3 9 8 7 5 97 975 98 985 99 995 5 גרף פרמטרי tmp = xlsread('xcope_khz.csv'); t = tmp(:,); v = tmp(:,); v = tmp(:,3); plot(t,v,t,v).5.5 בתהליך התלוי במשתנה אחד )למשל: זמן( מודדים כמה משתנים תלויים. ניתן לשרטט את המשתנים התלויים כפונקציה של המשתנה הבלתי-תלוי: )לדוגמא שרטוט שני המתחים שנמדדו כפונקציה של הזמן(..5-5 - -3 - - 3 5 x -3 plot(v,v).5.5 בגרף פרמטרי משרטטים משתנה תלוי אחד כפונקציה של משתנה תלוי אחר. )לדוגמא שרטוט מתח היציאה כפונקציה של מתח הכניסה מדגים את הפרש הפאזות ביניהם(..5.5.5.5 שיעור 3 עמ' מתוך
שרטוט כמה עקומות על מערכת צירים אחת שרטוט עמודות במטריצה: plot(years,births) אם x מערך חד-ממדי ו- y מטריצה )בעלת עמודות באורך המערך x(, אז כל עמודה ב- y משורטטת כפונקציה של x. אם x ו- y מטריצות באותם ממדים, אז כל עמודה ב- y משורטטת כפונקציה של העמודה המתאימה ב- x. plot(x,y,...,xn,yn) ציון כל העקומות בפקודה אחת: זוגות x,y plot(x,y,l,...,xn,yn,ln) ציון עקומות + צורות קו: שלשות x,y,linespec plot(years,births(:,),'^-',years,births(:,3),'.-',years,births(:,5),'-.') 3 אם פקודה אחת משרטטת כמה עקומות, אז כל עקומה מקבלת צבע אחר, לפי סדר ברירת-המחדל. 9 8 7 97 975 98 985 99 995 5 hold on hold off hold all מעבר ממצב של "פקודת שרטוט חדשה מוחקת גרפים קודמים" למצב של "גרפים מצטברים". חזרה למצב של "מחיקת הקודם". מעבר למצב של "גרפים מצטברים", כאשר עקומות חדשות משורטטות בצבעים שונים. שרטוט עקומות במרחב בדומה לעקומות במישור, משרטטים עקומות במרחב ע"י ציון 3 הקואורדינטות + )אופציונלי( צורת-קו. דוגמא: שרטוט סליל ע"י גרף פרמטרי. מעגל במישור ברדיוס r: בסליל, תנועה במישור מלווה גם בהתקדמות כלפי מעלה. plot3(x,y,z) r = 3; t = linspace(,5,5); x = r*cos(*pi*t); y = r*sin(*pi*t); v = ; plot3(x,y,v*t) = v יחס המתיחה, כלומר המרחק האנכי לכל סיבוב במישור. 5 3 3 - - -3-3 - - 3 שיעור 3 עמ' 3 מתוך
births per month אנוטציה title('text') כותרת לגרף xlabel('text') כותרת לציר x ylabel('text') כותרת לציר y text(x,y,'text') טקסט במקום חופשי text(x,y,'text','p','v','p','v'...vn,pn) ציון תכונות טקסט שם התכונה p n ערכים אפשריים עבור הסבר לפי הקיים במערכת שם גופן v n 'FontName' 'FontSize' 'color' 'Fontweight' 'Rotation' מספר )לפי אפשרויות המערכת( גודל הגופן )בנקודות( כמו ציון צבעי עקומות color of letters 'bold' 'demi' 'light' 'normal' thickness of letters מספר זווית סיבוב נגד כיוון השעון )מעלות( אפשר להוסיף תכונות אלה לכל סוגי הטקסט )גם כותרות לצירים ולגרף(. legend('curve','curve',...) הוספת מקרא: legend('curve','curve',...,'location','loc') בחירת מיקום המקרא: אפשרויות עבור :'loc' 'north' 'south' 'eat' 'west' כיוונים בתוך מערכת הצירים: 'northeast' 'northwest' 'southeast' 'southwest' כיוונים משניים 'northoutside' 'northeastoutside' etc. כיוונים מחוץ לצירים: 'Best' הבחירה הטובה ביותר )אוטומטית( למזער "התנגשות" עם הנתונים legend('hide') הסתרת מקרא קיים )בלי לבטלו( legend('show') ביטול הסתרה legend('boxoff') ביטול מסגרת סביב המקרא legend('boxon') החזרת מסגרת סביב המקרא )ברירת מחדל( דוגמא : סקריפט d3plotbirth לשרטוט נתוני לידות. data from births.xls. x peak of births.3...9.8.7 drop in births January April October. 97 975 98 985 99 995 5 year שיעור 3 עמ' מתוך
מערכות צירים חלונות גרפיים כל הפקודות המשרטטות עקומות ומוסיפות טקסט פועלות על החלון הגרפי הנמצא "למעלה" או "בפוקוס". כל חלון מצוין במספר. )עוד על גישה לחלונות גרפיים, בשיעור על עצמים גרפיים(. פתיחת חלון חדש )והעברת הפוקוס אליו(. תכונות חלון: זוגות של שם תכונה וערך תכונה. ציון שם לחלון פתיחת חלון ללא ציון מספר החלון על המסגרת שלו קבלת מס' החלון החדש סגירת חלון מסוים סגירת חלון נוכחי סגירת כל החלונות הגרפיים מעבר לחלון מסוים )יימצא "בפוקוס"( אתחול חלון קיים מערכות צירים על פלוט אחד figure figure('p','v',...'pn','vn') figure('name','text') figure('numbertitle','off') h = figure close(h) close close all figure(h) ניתן להגדיר כמה מערכות-צירים בחלון גרפי אחד. כל הפקודות המשרטטות עקומות ומוסיפות טקסט פועלות על מערכת הצירים הנמצאת "בפוקוס". לחלק את החלון הגרפי ל- rowsxcols מערכות צירים ולהעביר את הפוקוס למערכת צירים מס'.idx clf subplot(rows,cols,idx) 3 הספרור נעשה לפי שורות: כדי לשנות פוקוס למערכת צירים אחרת באותו "סידור", יש להפעיל שוב את הפקודה עם אותם מספרים עבור שורות ועמודות אבל מספר שונה עבור האינדקס. הפעלת הפקודה )באותו חלון גרפי( עם מספר שונה של שורות או עמודות מבטלת את ה"סידור" הקיים )ומוחקת גרפים קיימים אם היו(. ניתן גם "לאחד" צירים בסידור קיים, אם הם סמוכים: האזור הנראה בגרף subplot(rows,cols,]idx idx]) הפקודות הבאות משאירות מידע גרפי קיים כפי שהוא, אבל משנות את האופן שבו הוא מוצג ל"צופה". קביעת האזור במישור קביעת גבולות ציר x קביעת גבולות ציר y חזרה לקביעת אזור אוטומטית "הקפאת" הגבולות במצב הנוכחי )כך שעקומות נוספות לא משנות את הגבולות( axis([xmin,xmax,ymin,ymax]) xlim([xmin xmax]) ylim([ymin ymax]) axis auto axis manual שיעור 3 עמ' 5 מתוך
ערכי הזרם Vmax Vmax signal axis tight axis equal grid on grid off zlim([zmin,zmax]) axis([xmin,xmax,ymin,ymax,zmin,zmax]) view(az,el) view([ax el]) xlm = xlim [az el]=view קביעת גבולות הצירים לפי ערכי הקיצון של הנתונים. אותן יחידות לציר x ולציר y הוספת קווי אורך ורוחב הורדת קווי אורך ורוחב בגרף תלת ממדי: ציר z גבולות כל המרחב קביעת זווית המבט: xy זווית הצופה במישור = azimuth xy זווית הצופה מעל מישור = elevation ללא קלט: קבלת מידע על המצב הנוכחי N/A דוגמא : ארגון נתונים ושליפת חתכים מתוך.neuron_max.txt הקובץ בשם neuron_max.txt כולל טבלה של הערך הגבוה ביותר בסימולציה, כפונקציה של עוצמת הזרם וזמן הפעלתו. הטבלה מאורגנת באופן הבא: ערכי זמן הפעלה ערכי המתח המקסימלי עבור זרם נתון וזמן הפעלה נתון. הסקריפט d3neuron_curve מציג ערכים אלה כפונקציה של הזרם עבור מספר ערכי זמן ההפעלה. A sample stimulation 8 I V(t) 3 5 7 8 9 time [msec] 8 T=.5 T= T=.5 T=.5 T= 8 stimulation current 8 8 stimulation current שיעור 3 עמ' מתוך
גרפים לוגריתמיים semilogy(x,y) ציר x ליניארי, ציר y לוגריתמי semilogx(x,y) ציר y ליניארי, ציר x לוגריתמי loglog(x,y) שני הצירים לוגריתמיים דוגמא 3: הסקריפט d3logplot מדגים כיצד הצגה גרפית מתאימה יכולה לזהות את סוג הפונקציה..8. linear plot linear exponential power law logarithmic.8. log x plot.....5.5 3 log y plot log-log plot - - -.5.5 3 - הדפסה ושמירה לקובץ print print filename device BMP -bit -dbmp EPS black and white -deps JPEG -bit -djpeg PDF Color PDF file -dpdf print mypic -djpeg הדפסת החלון הנוכחי למדפסת ברירת מחדל: שמירה לקובץ דוגמאות לפורמטים גרפיים: ערכים עבור device דוגמא לשמירת קובץ בפורמט :jpeg יווצר קובץ בשם mypic.jpg הצגה גרפית של משטחים שרטוט משטחים במרחב הצגה גיאומטרית של מטריצה M: ערך תא במטריצה מיוצג ע"י גובה מעל הנקודה המתאימה במישור. mesh(m) רשת מעל מישור xy שיעור 3 עמ' 7 מתוך
mesh(vmax) xlabel('along row','fontsize',) ylabel('along column','fontsize',) לדוגמא נציג את ערכי Vmax מקובץ neuroan_max surf(m) surf(x,y,m) surf(t,i,vmax) xlabel('t','fontsize',) ylabel('i','fontsize',) axis tight משטח רציף ציון ערכים נתונים לאורך צירי x,y לדוגמא נציג את ערכי Vmax כפונקציה של הזרם I וזמן הערור T. mesh(x,y,m) משטח כללי במרחב )גרף פרמטרי( ייצוג מישורי של מטריצה ייצוג ערכי מטריצה על פני מישור, כאשר המבט אנכי )ה"צופה" נמצא בערך חיובי של z ומסתכל אל מישור.)xy pcolor(m) מפת צבעים: ערך כל תא "ממופה" לצבע. pcolor(x,y,m) ציון ערכים נתונים לאורך צירי x,y shading flat סילוק קווי המתאר shading interp החלקת צבעי המשבצות )אינטרפולציה( שיעור 3 עמ' 8 מתוך
y y contour(m) קווים שווי-ערך contour(x,y,m) ציון ערכים נתונים לאורך צירי x,y contour(m,n) שרטוט n קווים שווי-ערך contour(m,v) שרטוט קווים שערכיהם נתונים במערך v colorbar הצגת מקרא לצבעים דוגמא : תבנית התאבכות משני מקורות נקודתיים. r השדה ממקור נקודתי במרחק r ממנו נתון ע"י ) sin(. השדה בכל נקודות המישור הוא סכום r השדות משני מקורות נקודתיים. נחשב את השדה באזור במישור משני מקורות הנמצאים במקומות ±=x,=y. הסקריפט d3pattern מציג את עוצמת השדה בשתי צורות: כמפת צבעים וכקווים שווי-ערך. Interference pattern in psudocolor map 8 - -8 - - - 8 x Interference pattern in contour plot 8 - -8 - - - 8 x עבודה עם צבעים שיטות לייצוג צבעים ייצוג צבע: ע"י שלשה RGB ערכים אפשריים עבור :double [ ] ערכים אפשריים עבור :uint8 [55 ] שיוך צבעים למשטחים קביעת צבע של כל משבצת )במשטחים( או עקומה )ב- contour (. קביעת צבע ע"י שלשת :)TrueColor( RGB לכל משבצת במשטח יש לספק שלשה. המידע על הצבע הוא מערך תלת-ממדי nxmx3 כאשר nxm ממדי המטריצה המייצגת את המשטח. שיעור 3 עמ' 9 מתוך
קביעת צבע ע"י מפת-צבעים :colormap כל צבע מצוין ע"י מספר שלם, שהוא האינדקס )המיקום( של הצבע במפת-הצבעים. מפת הצבעים היא מערך,nX3 כאשר כל שורה במערך היא שלשת RGB double( בתחום ] )[ ה. אורך המקסימלי האפשרי של מפת צבעים הוא 5. כיצד נקבע המיפוי: טווח הנתונים )בין מינימום למקסימום( מחולק לקטעים שווים, כמספר השורות במפת הצבעים.כל הנקודות בערכים הכלולים במקטע מס' n ממופות לצבע מס' n במפת הצבעים. ברירת מחדל להצגת מטריצות, בהעדר מידע על צבעים: שימוש בערכי המטריצה גם לגובה וגם לציון צבע, ע"י מיפוי הערך לצבעים במפת-צבעים. קבלת מפת-הצבעים הקיימת: שינוי מפת צבעים לאחת מהאפשרויות הקיימות במטלב חישוב מפת-צבעים באורך n מתוך אחת האפשרויות שימוש במפת-צבעים מחושבת M שינוי גבולות המיפוי שינוי ברירת מחדל לצבעים: ציון צבע לכל משבצת. אם C מערך דו-ממדי, אז שיוך הצבע נעשה לפי מיפוי. cmap = colormap colormap mapname mapname(n) colormap(m) caxis([minval,maxval]) surf(m,c) surf(x,y,z,abs(z)) shading flat, colormap jet view(-,3), axis tight caxis([.5]) 5 3-8 - - - -8-8 C = cat(3,(z-3).^/,x.^/,y.^/); surf(x,y,z,c), shading flat view(-,3), axis tight אם C מערך תלת-ממדי בעל 3 מישורים, אז הצבע נקבע ע"י ערכי RGB של שלושת המישורים. שיעור 3 עמ' מתוך
visual color rgb values clrmap = hsv(3); d3colormap דוגמא 5: הסקריפט d3colormap מציג מפת-צבעים בשתי צורות..8... 5 5 5 3 colormap entry.8... 5 5 5 3 colormap entry עבודה עם תמונות תמונה = מפת צבעים שבה כל ערך מיוצג ע"י פיקסל אחד במסך. קריאת תמונות: C = imread('filename'); קריאת מטריצת RGB [cmat,cmap]= imread('filename'); קריאת מטריצת אינדקסים + מפת צבעים אופן הייצוג בקובץ נקבע ע"י הפורמט הגרפי. הצגת תמונות: image(c) הצגת מטריצה C כתמונה: image([xmin,xmax],[ymin,ymax],c) מיפוי לקואורדינטות: axis image שינוי כיוון הצירים בהתאם למוסכמות של תמונה imagesc(c) הצגת תמונה כאשר ערכי C אינדקסים למפת צבעים imagesc(x,y,c) מיפוי לקואורדינטות: imagesc(c,[imin,imax]) התאמה לאזור נתון של מפת הצבעים: הערה: אפשרויות נוספות להצגת תמונות נמצאות ב- Toolbox,Image Processong כלי ייעודי לעיבוד תמונה של מטלב. שיעור 3 עמ' מתוך