graph - גרפים

69
תתתת תתתתתת תתתתתMatLab תתתתת

Upload: michael

Post on 13-Nov-2014

865 views

Category:

Documents


3 download

DESCRIPTION

מצגות מקורס מבוא לתכנות בעזרת MATLAB במכללת אורט בראודה

TRANSCRIPT

Page 1: Graph - גרפים

מבוא לתכנות בעזרתMatLabגרפים

Page 2: Graph - גרפים

0.2/54

גרפים

,גרפים דו ממדיים,קווים במרחב,גרפים תלת ממדיים

נושאים מתקדמים בגרפים תלת ממדיים,,אנימציות.סיכום

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

Page 3: Graph - גרפים

0.3/54

,גרפים דו ממדיים,קווים במרחב,גרפים תלת ממדיים,נושאים מתקדמים בגרפים תלת ממדיים,אנימציות.סיכום

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

Page 4: Graph - גרפים

0.4/54 MatLabגרפיקה ב

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

טענה:MatLab היא אחת התוכנות עם הגרפיקה

המפותחת ביותר ואופני תצוגת התוצאות המרשימות ביותר מבין התוכנות המתמטיות,

...הוכחה

Page 5: Graph - גרפים

0.5/54

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

– טבלת פקודות MatLabגרפיקה ב בסיסיות

סימנים ותכונות שליטה בגרפים יצירת גרפים

legend(2D only) subplot דו-ממדי

title hold plot

xlabel תלת-ממדי fill

ylabel , view plotyy

zlabel(2D only) rotate3d תלת-ממדי

text shading plot3

grid zoom surf

axis hidden mesh

colormap colorbar cylinder, sphere, ellipsoid

קבוצות 3פונקציות של גרפיקה אפשר לארגן ב-

Page 6: Graph - גרפים

0.6/54 גרפים דו ממדיים

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

( XYהפקודה הפשוטה ליצירת גרף דו-ממדי )גרף plot(x,y)

וקטורים חד-ממדיים בעלי ממדים y ו xכאשרזהים,

:דוגמה פשוטה

»x=0:0.01:1; »y=sin(2*pi*x);

»plot(x,y)

y=sin)2πx(

Page 7: Graph - גרפים

0.7/54 gridהוספת קווי רשת -

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

ניתן להוסיף קווי רשת לאחר השלמת הפקודה:

- ניקוי המסךclf

»x=0:0.01:1; »y=sin(2*pi*x);

»plot(x,y) »grid

Page 8: Graph - גרפים

0.8/54 תוספת כיתוב

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

לציר X xlabel)‘text’( לצירY ylabel)‘text’( כותרת לגרףtitle)‘text’(

»title('AmplitudeVs.time'); »ylabel('amplitude');

»xlabel('time');

Page 9: Graph - גרפים

0.9/54 ציור הגרף וצבעו

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

צייר ב'+' אדום plot(x,y,’+ r’)

צייר קווים סגוליםplot(x,y,’m--’)

Page 10: Graph - גרפים

0.10/54 בקרה על ציור הגרף וצבעו

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

Page 11: Graph - גרפים

0.11/54

»x1=[0:0.01:1]; »y1=sin(2*pi*x); »y2=cos(2*pi*x);

»plot(x,y1,x,y2);

באותו מספר גרפים דו-ממדייםגרף ...

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

לדוגמה: y1=sin)2πx(

y2=cos)2πx( 0 ≤ x ≤

1

Page 12: Graph - גרפים

0.12/54

»x=linspace(0,5,100); »f=3+sin(pi*x);

»g=x/2 +1; »h = (log(x+1)).^3; »plot(x,f,x,g,x,h);

מספר גרפים באותו גרף )המשך(

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

לדוגמה:

» plot(x,[f;g;h]);

או:

f = 3+sin)πx(

g = 0.5x+1

h = )ln)x+1((3 0 ≤ x ≤ 100

Page 13: Graph - גרפים

הערות למערכות צירים רב-גרפיות0.13/54

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

גדלי הוקטורים עבור כל הגרפים על מערכתהצירים חייבים להיות זהים,

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

בכל מקרה, ללא ציון מפורש, ישורטטו קויםמלאים ,

כל המציינים שהוסברו בשקפים הקודמים“שרירים וקיימים” גם למערכת בעלת מספר

גרפים.

Page 14: Graph - גרפים

0.14/54 הכנסת הערות לתוך הגרף ...

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

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

המיקום האחרון שבו יקבע הצלב, שלאחריוילחץ הלחצן השמאלי בעכבר יהיה מיקום הצבת

:הכיתוב

» gtext('Insert this text')

Page 15: Graph - גרפים

0.15/54הכנסת הערות לתוך הגרף

)המשך(

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

» x1=[0:0.01:1];» y1=sin(2*pi*x1);» y2=cos(2*pi*x1);» plot(x1,y1,x1,y2);» text(0.5,0.3,'sin(x)');» text(0.25,0.3,'cos(x)');

y1=sin)2πx(

y2=cos)2πx(

0 ≤ x ≤ 1

Page 16: Graph - גרפים

0.16/54

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

legend הוספת מקראf=sin)2πx(+3

g=x2

0 ≤ x ≤ 1

x=-3:0.01:3;

f=sin(2*pi*x)+3;

g=x.^2;

plot(x,[f;g]);

legend('f=sin(2*pi*x)+3','g=x^2');

Page 17: Graph - גרפים

0.17/54

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

הוספת סימנים מיוחדים

x=-3:0.01:3;

f=sin(2*pi*x)+3;

g=x.^2;

plot(x,[f ; g]);

legend('y_1=sin(2\pix)+3','y_2=x^2');

לפני הטקסט^רושמים כתב עילי לקבלת • לפני הטקסט_רושמים כתב תחתי לקבלת • לפני השם האנגלי של \רושמים אותיות יווניות לקבלת •

האות

Page 18: Graph - גרפים

0.18/54

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

Help טבלת סימנים שאפשר לרשום –

\בטקסט על ידי

Page 19: Graph - גרפים

0.19/54

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

Help טבלת – סימנים שאפשר

לרשום בטקסט על

(המשך)\ ידי

Page 20: Graph - גרפים

0.20/54 קביעת גודל מערכת הצירים

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

axis([Xmin Xmax Ymin Ymax])

x=-3:0.01:3;

f=sin(2*pi*x)+3;

g=x.^2;

plot(x,[f;g]);

grid;

legend('y_1=sin(2\pix)+3','y_2=x^2',-1);

axis([-2.5 2.5 -0.5 5]);

Page 21: Graph - גרפים

0.21/54הוספת גרפים על אותה מערכת

צירים

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

hold

» plot(1:10)» hold on» plot(sin(1:10))» hold off

Page 22: Graph - גרפים

0.22/54ריבוי גרפים על דף

יחיד

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

subplot

subplot(2,2,1)

plot(0.1,'pr','linewidth',3)

x=0:0.05:1

subplot(2,2,2)

plot(x,sin(2*pi*x),'g:','linewidth',2)

subplot(2,2,3)

plot(x,cos(2*pi*x),'kd‘,'linewidth',2)

subplot(2,2,4)

plot(sin(2*pi*x),cos(2*pi*x),'linewidth',2)

Page 23: Graph - גרפים

0.23/54 ועכשיו עם כותרות :

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

subplot(2,2,1)

plot(0.1,'pr','linewidth',3);

title('x=1,y=0.1');

x=0:0.05:1

subplot(2,2,2)

plot(x,sin(2*pi*x), 'g:','linewidth',2)

title('y=sin(2\pix)');

subplot(2,2,3)

plot(x,cos(2*pi*x),'kd','linewidth',2)

title('y=cos(2\pix)');

subplot(2,2,4)

plot(sin(2*pi*x),cos(2*pi*x), 'linewidth',2)

title('x=sin(2\pi\theta),y=cos(2\pi\theta)');

Page 24: Graph - גרפים

0.24/54 סיבוב גרף דו-ממדי במרחב

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

...אחרי שיצרנו גרף, ניתן לסובבו

Page 25: Graph - גרפים

0.25/54 עריכה אינטראקטיבית של הגרף

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

,אחרי שיצרנו גרף, ניתן לעורכו, לשנות עובי קווטקסט...

Page 26: Graph - גרפים

0.26/54 הוספת סטטיסטיקה בסיסית לגרף

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

ניתן לבחור חישובים סטטיסטיים בסיסיים של Data Statisticsבחלון הפונקציות המשורטטות ולהוסיף אותם לגרף

Page 27: Graph - גרפים

0.27/54 הוספת סטטיסטיקה בסיסית לגרף )המשך(

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

Page 28: Graph - גרפים

0.28/54 הוספת סטטיסטיקה בסיסית לגרף )המשך(

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

, נכנסים למצב עיצוב הגרף, max ו minכדי לשנות במקרא את הטקסט ל – מסמנים את הקו המתאים בגרף, למשל, קו המקסימום, ולוחצים על

"Inspector"

את שם הקו רושמים DisplayNameבשדה

Page 29: Graph - גרפים

0.29/54 וזאת התוצאה:

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

Page 30: Graph - גרפים

0.30/54 הוספת חצים וקווים

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

הכלים של חצים, צורות וקווים נמצאים בסרגל

“Figure Palette” ניתן להוסיף את הסרגל

במצב עיצוב Viewדרך הגרף

בוחרים בכלי הרצוי ו"מציירים" אותו על הגרף

Page 31: Graph - גרפים

0.31/54 fill קווים2מילוי שטח בין

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

x=linspace(-1,1,100);

f=sin(pi*x)+3;

g=3*x.^2;

fill([x,fliplr(x)],[f,fliplr(g)],'r');

text(-0.5,1.5,…

'the area betweensin(\pix)+3 & 3x^2');

f=sin)πx(+3

g=3x2

-1 ≤ x ≤ 1

Page 32: Graph - גרפים

0.32/54 Y plotyy צירי 2שירטוט עם

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

x=0:0.01:20;

y1=x.^3;

y2=0.5*exp(-0.3*x).*cos(7*x);

plotyy(x,y1,x,y2);

xlabel('X');

text(10,1500,'x^3');

text(10,5500,'0.5*e^(-0.3x)*cos(7x)');

f=sin)πx(+3

g=3x2

-1 ≤ x ≤ 1

Page 33: Graph - גרפים

0.33/54

,גרפים דו ממדיים,קווים במרחב,גרפים תלת ממדיים,נושאים מתקדמים בגרפים תלת ממדיים,אנימציות.סיכום

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

Page 34: Graph - גרפים

0.34/54קווים במערכת תלת

ממדית

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

plot3

» t=0:pi/50:10*pi;» plot3(sin(t),cos(t),t)

0 ≤ t ≤ 10π

x=sin)t(

y=cos)t(

z=t

Page 35: Graph - גרפים

0.35/54 קווים במערכת תלת ממדית

)המשך(

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

» x=0:0.1:3.*pi;» z1=sin(x);» z2=sin(2.*x);» z3=sin(3.*x);» y1=zeros(size(x));» y3=ones(size(x));» y2=y3./2;» plot3(x,y1,z1,'r',…x,y2,z2,'b',x,y3,z3,'g')» grid on» xlabel('x-axis'),…ylabel('y-axis'),…zlabel('z-axis')

Page 36: Graph - גרפים

0.36/54 קווים במערכת תלת ממדית

)המשך(

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

»clf »turns=40.*pi;

»theta=linspace(0,turns,4000); »x=cos(theta).*(turns-theta)./turns; »y=sin(theta).*(turns-theta)./turns;

»z=theta./turns; »plot3(x,y,z)

»grid on »text(0.5,0.5,0.75…,

'Here we are;('!

0 ≤ θ ≤ 40π

x=cosθ)40π- θ(/40π

y=sinθ)40π- θ(/40π

z=θ/40π

Page 37: Graph - גרפים

0.37/54

,גרפים דו ממדיים,קווים במרחב,גרפים תלת ממדיים,נושאים מתקדמים בגרפים תלת ממדיים,אנימציות.סיכום

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

Page 38: Graph - גרפים

0.38/54 שרטוט גרף תלת ממדי ...

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

כאשר ציירנו אתf(x) היינו צריכים "ציר" עם ,xערכי

כדי לצייר אתf(x,y) אנו צריכים "משטח" הבנוי מרשת

,y ו x של ערכי ...ראו להבין היטב נקודה זוMatLab מסייע לנו ביצירת רשת הצירים על

באמצעות XYמישור ]x,y=[meshgrid(x,y)

את הגרף התלת ממדי ניצור עם mesh(z_variable)

Page 39: Graph - גרפים

0.39/54meshgrid

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

Page 40: Graph - גרפים

שרטוט גרף תלת ממדי )המשך( ...0.40/54

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

שרטוט הפונקציה:1דוגמה

נקבע מערכת צירים באמצעות שני וקטורים זהים x=-2:2;

y=x;

)( 22

810

sin yxexy

z

Page 41: Graph - גרפים

0.41/54 1דוגמא

)המשך( ...

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

XYניצור רשת צירים למישור

[X,Y]=meshgrid(x,y);

X וY 5 הן מטריצות בנותx5כל אחת

2 2 2 2 2 1 1 1 1 1 0 0 0 0 0 1- 1- 1- 1- 1- 2- 2- 2- 2- 2-

Y

2 1 0 1- 2- 2 1 0 1- 2- 2 1 0 1- 2- 2 1 0 1- 2- 2 1 0 1- 2-

X

yערכי קבועים

xערכי קבועים

Page 42: Graph - גרפים

0.42/54 1דוגמא

)המשך(...

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

clc; clear;

x=-3:.1:3;

y=x;

[X,Y]=meshgrid(x,y);

Z=4*sin((pi*X.*Y/10))+8*exp(-(X.^2+Y.^2));

grid;

mesh(X,Y,Z);

xlabel('x'); ylabel('y'); zlabel('z');

Page 43: Graph - גרפים

שרטוט גרף תלת ממדי )המשך( ... 0.43/54

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

איך ליצור את המטריצות "ללא עזרתmeshgrid"?

למשל נצייר z = (x2 + y2) 3- עבור x,y 3 » x=-3:0.1:3; y=-4:0.1:4;» nc=length(x); % number of columns in z» nr=length(y); % number of rows in z» z=zeros(nr,nc); % initialize z (for speed)» for kc=1:nc for kr=1:nr z(kr,kc) = x(kc).^2 + y(kr).^2; end end» mesh(x,y,z)

Page 44: Graph - גרפים

0.44/54 שרטוט גרף תלת ממדי )המשך(

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

ובשימוש ב"meshgrid"?» x=-3:0.1:3; y=x;» [xx,yy]=meshgrid(x,y);» zz = xx.^2 + yy.^ 2;» mesh(x,y,z)

Page 45: Graph - גרפים

0.45/54 D3עקרונות לגבי

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

שרטוטmesh,לעומת מעטפת ,הסרת קווים נסתרים,שרטוט מעטפת לעומת בסיס,קביעת סרגלי צבעים ופסיאודו-צבע קביעת נקודת מבט(viewpoint) ) ..מתקדם(

, .) ..הצללות ותאורה )מתקדם

Page 46: Graph - גרפים

0.46/54 הסרת הנסתר

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

שימוש בhidden on או off» [X,Y,Z] = sphere(12);» subplot(1,2,1);» mesh(X,Y,Z), title('Figure 26.5a: Opaque');» hidden on;» axis square off;» subplot(1,2,2);» mesh(X,Y,Z),title('Figure 26.5b: Transparent');» hidden off;» axis square off;

Page 47: Graph - גרפים

0.47/54 mesh)(

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

נשתמש בפונקציה peaks )(להדגמה:» [x,y,z]=peaks(30);» mesh(x,y,z)» axis tight» xlabel('x-axis')» ylabel('y-axis')» zlabel('z-axis')

:הצעהבדקו השפעת hidden off

ומה זהaxis tight

Page 48: Graph - גרפים

0.48/54 meshc)(

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

תוספת של קווי גובה:» [x,y,z]=peaks(30);» meshc(x,y,z)» axis tight» xlabel('x-axis')» ylabel('y-axis')» zlabel('z-axis')

:רמזלאחר השקף הקודם צריך

רקmeshc...

Page 49: Graph - גרפים

0.49/54 meshz)(

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

להדגשת המשטחz=0:» [x,y,z]=peaks(30);» meshz(x,y,z)» axis tight» xlabel('x-axis')» ylabel('y-axis')» zlabel('z-axis')

Page 50: Graph - גרפים

0.50/54 waterfall)(

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

אופציתmeshנוספת :» [x,y,z]=peaks(30);» waterfall(x,y,z)» axis tight» xlabel('x-axis')» ylabel('y-axis')» zlabel('z-axis')

Page 51: Graph - גרפים

0.51/54

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

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

מימדיים, ,ניתן לשלוט בהופעת הרשת ניתן לשלוט בצבעי הגרף לחשיפת אינפורמציה

, נוספת.ניתן להוסיף תאורה

את המעטפת... ייצגנועד כה רק

Page 52: Graph - גרפים

0.52/54 surf)(

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

מילוי הפוליגונים:» [x,y,z]=peaks(30);» surf(x,y,z)» axis tight» xlabel('x-axis')» ylabel('y-axis')» zlabel('z-axis')

Page 53: Graph - גרפים

0.53/54 surf)( אופציית shading

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

סילוק קווי הרשת:» [x,y,z]=peaks(30);» surf(x,y,z)» shading flat» axis tight» xlabel('x-axis')» ylabel('y-axis')» zlabel('z-axis')

Page 54: Graph - גרפים

0.54/54

» [x,y,z]=peaks(30);» surfc(x,y,z)» shading interp» axis tight» xlabel('x-axis')» ylabel('y-axis')» zlabel('z-axis')

surfc)( מזכיר את meshc

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

הצגת קווי הגובה:

interpגורם לעירוב

צבעים,וסילוק קווי

הרשת, הרצה עלולה

לקחת זמן.

Page 55: Graph - גרפים

0.55/54 mesh ול-surfדוגמא נוספת ל-[x,y,z]=peaks(30);subplot(1,2,1);colormap('copper');surf(x,y,z);%sets the axis limits to the range% of the dataaxis tightxlabel('x-axis')ylabel('y-axis')zlabel('z-axis')subplot(1,2,2);mesh(x,y,z);hidden off;

Page 56: Graph - גרפים

0.56/54

,גרפים דו ממדיים,קווים במרחב,גרפים תלת ממדיים,נושאים מתקדמים בגרפים תלת ממדיים,אנימציות.סיכום

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

Page 57: Graph - גרפים

0.57/54

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

ניתן לקבוע את הזווית ממנה אנו רואים אתהציור:

view(az,el)

קביעת זווית המבטz

y

x

azimuth

elev

viewpoint

» [x,y,z]=peaks(30);» surfc(x,y,z)» shading interp» axis tight» xlabel('x-axis')» ylabel('y-axis')» zlabel('z-axis')» view(-45, 60)

Page 58: Graph - גרפים

0.58/54

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

,פותח עוד אפשרויות רבות של הזזה, סבובגלגול,

, מקור תאורה ועוד...Zoomהצללה,

Camera Toolbar

Page 59: Graph - גרפים

0.59/54 colorbarהוספת

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

הצגת מקרא לצבעים:» [x,y,z]=peaks(30);» surfc(x,y,z)» shading interp» axis tight» xlabel('x-axis')» ylabel('y-axis')» zlabel('z-axis')» view(-45, 60)» colorbar

שווה לעיין בhelp שימו לב שהצבע

יכול לייצג מימד !נוסף

Page 60: Graph - גרפים

0.60/54 ...contour - 1ציור

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

שרטוט קווי הגובה:» [x,y,z]=peaks(30);» contour(x,y,z,10)» colorbar» xlabel('x-axis')» ylabel('y-axis')

Page 61: Graph - גרפים

0.61/54 ...contourf - 2ציור

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

שרטוט "משטחי" הגובה:» [x,y,z]=peaks(30);» contourf(x,y,z,10)» colorbar» xlabel('x-axis')» ylabel('y-axis')

Page 62: Graph - גרפים

0.62/54 ...contour3 - 3ציור

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

שרטוט קווי הגובה, במרחב:» [x,y,z]=peaks(30);» contour3(x,y,z,10)» colorbar» xlabel('x-axis')» ylabel('y-axis')

Page 63: Graph - גרפים

0.63/54 sinc(r) = sin(r)/rדוגמא

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

נוסיף אתepsו infלמנוע חלוקה באפס » [xx,yy]=meshgrid(-4.*pi:pi./5:4.*pi);» R=sqrt(xx.^2 + yy.^2)+eps; % radius» zz=sin(R)./R;» surf(xx,yy,zz)» shading interp» axis tight

ומה היינועושים,

אם הנקודותלא היו פזורותבמרחב באופן

?שווה

Page 64: Graph - גרפים

0.64/54

,גרפים דו ממדיים,קווים במרחב,גרפים תלת ממדיים,נושאים מתקדמים בגרפים תלת ממדיים,אנימציות.סיכום

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

Page 65: Graph - גרפים

0.65/54 ...getframeפקודת

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

שומרתframe:» Z = peaks; % Animate the peaks function as you » surf(Z); % scale the values of Z» axis tight % adjust axis to range of the data.» set(gca,'nextplot','replacechildren'); %NextPlot-property determines % where to draw next plot , %if value of NextPlot is replacechildren, % axes will delete without resetting axes properties. » for j = 1:20 % Record the movie;

%start the loop for writing framessurf(sin(2*pi*j/20)*Z,Z) % Color is proportional

%to surface height (C=Z)

F(j) = getframe; % records frame» end % End of loop for writing frames

Page 66: Graph - גרפים

0.66/54

)המשך( ו getframeפקודת movie

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

נוצר לנו מערך שלstruct.שהוא הסרט

...על מנת להציג את הסרט» movie(F,20) % Play the movie twenty times

ואגבmovie(F, -1) יציג אותו מהסוף להתחלה..

בתיקייה "סרטים" באתר ישנם מספר סרטיםלדוגמא.

Page 67: Graph - גרפים

0.67/54

דוגמא - אנימציה של תנועת brown

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

» % Animation for the Brownian motion» n=300;s = .02;» nframes = 50;» x = rand(n,1)-0.5;y = rand(n,1)-0.5;» h = plot(x,y,'.');» set(h,'MarkerSize',18);» axis([-1 1 -1 1]);axis square» grid off» for k = 1:nframes x = x + s*randn(n,1); y = y + s*randn(n,1); set(h,'XData',x,'YData',y) %axes properties (max,min) M(k) = getframe;» end» movie(M,30)

שווה לקרוא עלmovie2avi

Page 68: Graph - גרפים

0.68/54

:גרפים

,גרפים דו ממדיים,קווים במרחב,גרפים תלת ממדיים,נושאים מתקדמים בגרפים תלת ממדיים,אנימציות.סיכום

MatLabמבוא לתכנות בעזרת (22100)

אורט בראודה – הנדסת מכונות

Page 69: Graph - גרפים

מבוא לתכנות בעזרת MatLabגרפים