23
259201 Computer Programming for Engineers Week 12 MATLAB กกกกกกกกกกก กกกก

259201 Computer Programming for Engineers

Embed Size (px)

DESCRIPTION

259201 Computer Programming for Engineers. Week 12 MATLAB กับการสร้างกราฟ. องค์ประกอบของกราฟ. Plot title. Legend. Y label. Data Symbol. Tick Mark. X label. Tick-mark label. การพลอตกราฟ. ฟังก์ชัน plot(x,y)  พลอตกราฟของ coordinate (x,y) ฟังก์ชัน title (‘text’)  กำหนดชื่อกราฟ - PowerPoint PPT Presentation

Citation preview

Page 1: 259201 Computer Programming for Engineers

259201Computer Programming

for Engineers

Week 12 MATLAB กั�บกัารสร�างกัราฟ

Page 2: 259201 Computer Programming for Engineers

องค์�ประกัอบของกัราฟองค์�ประกัอบของกัราฟPlot titlePlot title

LegendLegend

Y labelY label

X X labellabel

Data SymbolData Symbol

Tick-mark Tick-mark labellabel

Tick MarkTick Mark

Page 3: 259201 Computer Programming for Engineers

กัารพลอตกัราฟกัารพลอตกัราฟ ฟั�งก์�ชั�น plot(x,y) พลอตก์ราฟั

ของ coordinate (x,y) ฟั�งก์�ชั�น title(‘text’) ก์�าหนด

ชั��อก์ราฟั ฟั�งก์�ชั�น xlabel(‘text) ก์�าหนด

ป้�ายชั��อแก์น x ฟั�งก์�ชั�น ylabel(‘text’)

ก์�าหนดชั��อป้�ายชั��อแก์น y

Page 4: 259201 Computer Programming for Engineers

กัารพลอตกัราฟกัารพลอตกัราฟ

Example>> x =[0:0.1:52];

>> y = 0.4*sqrt(1.8*x);

>> plot(x,y)

>> xlabel(‘Distance (km)’);

>> ylabel(‘Height (km)’);

>> title(‘Missile Height as a Function of Downrange Distance’);

Page 5: 259201 Computer Programming for Engineers

กัารพลอตกัราฟกัารพลอตกัราฟ

k

b

c

g

m

r

w

y

ดำ�าน้ำ��าเง�น้ำไซแอน้ำเข�ยวม่ วงแดำงแดำงขาวเหล"อง

-

:

--

-.

เส�น้ำทึ$บส�น้ำประชน้ำ�ดำจุ'ดำเส�น้ำประชน้ำ�ดำข�ดำเส�น้ำประชน้ำ�ดำข�ดำและจุ'ดำ

.

O

X

+

*

s

d

v

^

<

>

P

H

จุ'ดำวงกัลม่กัากับาทึบวกัดำอกัจุ�น้ำส�(เหล�(ยม่ข�าวหลาม่ต�ดำสาม่เหล�(ยม่ช��ลงสาม่เล�(ยม่ช��ข$�น้ำสาม่เล�(ยม่ช��ซ�ายสาม่เล�(ยม่ช��ขวาดำาวห�าแฉกัดำาวหกัแฉกั

ส�ร*ปแบบเส�น้ำกัราฟส�ญล�กัษณ์�

Page 6: 259201 Computer Programming for Engineers

กัารพลอตกัราฟกัารพลอตกัราฟ ฟั�งก์�ชั�น grid แสดงเส�นตารางgrid on (แสดง), grid off (ไม่�แสดง)

ฟั�งก์�ชั�น axis ก์�าหนดชั�วงของก์ารแสดงผลของแก์นต�างๆaxis([xmin xmax ymin ymax])axis square ก์�าหนดร#ป้ส$�เหล$�ยม่ axis equal ก์�าหนด scale เท่�าก์�นท่�&งสอง

แก์น

Page 7: 259201 Computer Programming for Engineers

กัารพลอตกัราฟกัารพลอตกัราฟ

grid on

axis([0 52 0 5]):axis([0 52 0 5]): ค่�าต��าส(ด และส#งส(ดท่างแก์น ค่�าต��าส(ด และส#งส(ดท่างแก์น x x ค่�อ ค่�อ 0 0 และ และ 5252 ค่�าต��าส(ด และส#งส(ดท่างแก์น ค่�าต��าส(ด และส#งส(ดท่างแก์น y y ค่�อ ค่�อ 0 0 และ และ 55

Page 8: 259201 Computer Programming for Engineers

กัารพลอตกัราฟกัารพลอตกัราฟเม่��อม่$ก์ารส��งพลอตก์ราฟัใหม่� ร#ป้ก์ราฟัเด+ม่

จะถู#ก์ลบท่+&งและแท่นท่$�ด�วยร#ป้ก์ราฟัใหม่�หาก์ต�องก์ารพลอตร#ป้ใหม่�ซ้�อนท่�บโดยร#ป้

ก์ราฟัเด+ม่ไม่�หายไป้>> hold on

ยก์เล+ก์ค่�าส��ง hold>> hold off

Page 9: 259201 Computer Programming for Engineers

กัารพลอตกัราฟกัารพลอตกัราฟ เส�น้ำกัราฟ 2 เส�น้ำบน้ำกัราฟ

เดำ�ยวกั�น้ำplot(x,y,u,v) >> x = [0:.01:2];

>> y = sinh(x);

>> z = tanh(x);

>> plot(x,y,x,z,‘--’)

>> xlabel(‘x’)

>> ylabel(‘Hyperbolic

Sine…and Hyperbolic

Tangent’)

ค์* ค์* x-yx-y

ค์* ค์* x-zx-z

หร�อใชั�ฟั�งก์�ชั�น hold on (ค่�างไว�)>>plot(x,y)>>hold on>>plot(x,z,’-’)

Page 10: 259201 Computer Programming for Engineers

กัารพลอตกัราฟกัารพลอตกัราฟ ฟ.งกั�ช�น้ำ legend ข�อค่วาม่อธิ+บาย

ค่วาม่หม่ายของส�นก์ราฟั>>legend(‘sinh(x)’, ’tanh(x)’)

legend

Page 11: 259201 Computer Programming for Engineers

กัารพลอตกัราฟกัารพลอตกัราฟ ฟ.งกั�ช�น้ำ gtext

>>gtext(‘test’) % เม่��อก์ด enter จะม่$เค่ร��องหม่าย% ก์าก์บาท่ป้ราก์ฏบนร#ป้% ให�ค่ล+ก์ mouse ท่$�ต�าแน�งท่$�ต�องก์าร% ให�ข�อค่วาม่ test ป้ราก์ฏ

ฟ.งกั�ช�น้ำ text>>text(x,y,’test’)%x ค่�อค่�า coordinate ในแก์น x

% และ y ค่�อค่�า coordinate ใน% แก์น y ท่$�ต�องก์ารให�ข�อค่วาม่

% test ป้ราก์ฏ x และ y อาจเป้3น% vector ก์4ได�

Page 12: 259201 Computer Programming for Engineers

กัารพลอตกัราฟกัารพลอตกัราฟ กัารแสดำงกัราฟย อย ( ฟั�งก์�ชั�นsubplot)subplot(m,n,p) %m แถูว n column

ร#ป้ท่$� p

65

43

21 ม่$ ม่$ 6 6 ก์ราฟั โดยเร$ยง ก์ราฟั โดยเร$ยง เป้3น เป้3น 3 3 แถูว แถูว 2 2

columncolumn จะน�บร#ป้จาก์จะน�บร#ป้จาก์ซ้�ายไป้ขวาบนลงล�าซ้�ายไป้ขวาบนลงล�า

งด�งต�วเลขในตาราง งด�งต�วเลขในตาราง

Page 13: 259201 Computer Programming for Engineers

กัารพลอตกัราฟกัารพลอตกัราฟ>> x = [0:.01:5];

>> y = exp(-1.2*x).* sin(10*x+5);

>> subplot(1,2,1)

>> plot(x,y), xlabel(‘x’), ylabel(‘y’)

>> axis([0 5 –1 1])

>> x = [-6:.01:6];

>> y = abs(x.^3-100);

>> subplot(1,2,2)

>> plot(x,y), xlabel(‘x’), ylabel(‘y’)

>> axis([-6 6 0 350])

ร*ปทึ�( 1 ร*ปทึ�( 2

Page 14: 259201 Computer Programming for Engineers

กัารพลอตกัราฟกัารพลอตกัราฟ ฟ.งกั�ช�น้ำ fplot

fplot(‘func’,[xmin xmax ymin ymax])

>>[x,y]=fplot(‘cos(tan(x))–tan(sin(x))’,[1 2])

ค่�าพ+ก์�ดเก์4บไว�ใน อาเรย� x และ y

Page 15: 259201 Computer Programming for Engineers

เป้ร$ยบเท่$ยบ เป้ร$ยบเท่$ยบ fplot fplot ก์�บ ก์�บ plotplot

>> x = [1:0.01:2];>> y = cos(tan(x)) - tan(sin(x));>> plot(x,y)

>> y = ‘cos(tan(x)) - tan(sin(x))’; >> fplot(y,[1,2])

Page 16: 259201 Computer Programming for Engineers

กัารพลอตกัราฟกัารพลอตกัราฟ ฟ.งกั�ช�น้ำ polyval

3x5+2x4-100x3+2x2-7x+90>> x=[-6:0.01:6]

>> p =[3, 2, -100, 2, -7, 90];

>> plot(x,polyval(p,x))

>> xlabel(‘x’), ylabel(‘y’)

Page 17: 259201 Computer Programming for Engineers

ต�วอย างกัารพลอตกัราฟต�วอย างกัารพลอตกัราฟ ให�พลอตก์ราฟัอ(ณหภู#ม่+ ระหว�าง อ(ณหภู#ม่+เซ้ลเซ้$ยส (แก์น x) ก์�บ

ฟัาเรน- ไฮต� (แก์น y) ในชั�วงอ(ณหภู#ม่+เซ้ลเซ้$ยสต�&งแต� -50 ถู9ง 100

องศาเซ้ลเซ้$ยส Input ??

อ(ณหภู#ม่+เซ้ลเซ้$ยส (TC) ก์�าหนดค่�า TC ในชั�วง -50 ถู9ง 100

Output ?? อ(ณหภู#ม่+ฟัาเรนไฮต� (TF) และก์ราฟั

Algorithm ??TF = (9/5)TC + 32

Page 18: 259201 Computer Programming for Engineers

ต�วอย างกัารพลอตกัราฟต�วอย างกัารพลอตกัราฟ

Page 19: 259201 Computer Programming for Engineers

กัารพลอตกัราฟกัารพลอตกัราฟ ฟ.งกั�ช�น้ำ set ส�าหร�บก์ารก์�าหนด tick mark

>>set(gca, ’Xtick’, [xmin:dx:xmax], ‘Ytick’, [ymin:dy:ymax])% ให�ค่�าป้ระจ�าแก์น x ต��าส(ดท่$� xmin และส#งส(ดท่$� xmax โดยท่$�ม่$

ระยะห�างเป้3น dx และ ให�ค่�าป้ระจ�าแก์น y ต��าส(ดท่$� ymin และส#งส(ด ท่$� ymax โดยท่$�ม่$ระยะห�างเป้3น dy

>>set(gca, ’Xtick’, [0:0.2:2], ’Ytick’, [0:0.1:1]) % สาม่ารถู set label ของ Tick mark ท่างแก์น x ให�เป้3นชั��อ

เด�อนได�>>set(gca,’Xticklabel’,[‘Jan’; ’Feb’; ’Mar’;

’Apr’; ’May’; ’Jun’])>>set(gca,’Xtick’,[1:6])

Page 20: 259201 Computer Programming for Engineers

กัารพลอตกัราฟกัารพลอตกัราฟ ฟ.งกั�ช�น้ำ set ส�าหร�บก์ารก์�าหนด tick mark

ก์ารก์�าหนด tick mark เป้3นข�อค่วาม่ สาม่ารถูท่�าได�โดยใชั�ค่�าส��ง set เชั�นก์�น>>set(gca,’Xticklabel’,[‘Jan’; ’Feb’; ’Mar’; ’Apr’; ’May’; ’Jun’])% สาม่ารถู set label ของ Tick mark ท่าง

แก์น x ให�เป้3นชั��อเด�อนได�

Page 21: 259201 Computer Programming for Engineers

กัารพลอตกัราฟกัารพลอตกัราฟ: : กัราฟร*ปกัราฟร*ปแบบอ"(น้ำๆแบบอ"(น้ำๆ

ฟ.งกั�ช�น้ำ stem, stairs, bar>>x=[1:6];>>y=[13 5 7 14 10 12];

>>stem(x,y) >>stairs(x,y) >>bar(x,y)

Page 22: 259201 Computer Programming for Engineers

กัารพลอตกัราฟกัารพลอตกัราฟฟั�งก์�ชั�น hist(x,n) ใชั�สร�างก์ราฟัฮ$สโตแก์รม่ของ

ต�วแป้ร x โดยต�องก์ารแบ�งชั�วงข�อม่#ลออก์เป้3น n ชั�วงใชั� plot histogram ค่วาม่ถู$�ของข�อม่#ล เชั�น

น.ศ . 20 ค่น สอบได�ค่ะแนนต�างๆ ก์�น (ค่ะแนนเต4ม่ 10)

ต�องก์ารแบ�งชั�วงค่ะแนนเป้3น 5 ชั�วงอยาก์ท่ราบจ�านวนน.ศ.สอบได�ค่ะแนน สาม่ารถูใชั� histogram สร�างก์ราฟัได�

Page 23: 259201 Computer Programming for Engineers

กัารพลอตกัราฟกัารพลอตกัราฟ>> score=[2 9 4 5 4 2 9 5 6 2 8 7 2 3

9 1 6 3 4 6];>> hist(score,5)