259201 computer programming for engineers

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

Upload: kato-blanchard

Post on 03-Jan-2016

20 views

Category:

Documents


0 download

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

TRANSCRIPT

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)