259201 computer programming for engineers
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 PresentationTRANSCRIPT
259201Computer Programming
for Engineers
Week 12 MATLAB กั�บกัารสร�างกัราฟ
องค์�ประกัอบของกัราฟองค์�ประกัอบของกัราฟPlot titlePlot title
LegendLegend
Y labelY label
X X labellabel
Data SymbolData Symbol
Tick-mark Tick-mark labellabel
Tick MarkTick Mark
กัารพลอตกัราฟกัารพลอตกัราฟ ฟั�งก์�ชั�น plot(x,y) พลอตก์ราฟั
ของ coordinate (x,y) ฟั�งก์�ชั�น title(‘text’) ก์�าหนด
ชั��อก์ราฟั ฟั�งก์�ชั�น xlabel(‘text) ก์�าหนด
ป้�ายชั��อแก์น x ฟั�งก์�ชั�น ylabel(‘text’)
ก์�าหนดชั��อป้�ายชั��อแก์น y
กัารพลอตกัราฟกัารพลอตกัราฟ
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’);
กัารพลอตกัราฟกัารพลอตกัราฟ
k
b
c
g
m
r
w
y
ดำ�าน้ำ��าเง�น้ำไซแอน้ำเข�ยวม่ วงแดำงแดำงขาวเหล"อง
-
:
--
-.
เส�น้ำทึ$บส�น้ำประชน้ำ�ดำจุ'ดำเส�น้ำประชน้ำ�ดำข�ดำเส�น้ำประชน้ำ�ดำข�ดำและจุ'ดำ
.
O
X
+
*
s
d
v
^
<
>
P
H
จุ'ดำวงกัลม่กัากับาทึบวกัดำอกัจุ�น้ำส�(เหล�(ยม่ข�าวหลาม่ต�ดำสาม่เหล�(ยม่ช��ลงสาม่เล�(ยม่ช��ข$�น้ำสาม่เล�(ยม่ช��ซ�ายสาม่เล�(ยม่ช��ขวาดำาวห�าแฉกัดำาวหกัแฉกั
ส�ร*ปแบบเส�น้ำกัราฟส�ญล�กัษณ์�
กัารพลอตกัราฟกัารพลอตกัราฟ ฟั�งก์�ชั�น grid แสดงเส�นตารางgrid on (แสดง), grid off (ไม่�แสดง)
ฟั�งก์�ชั�น axis ก์�าหนดชั�วงของก์ารแสดงผลของแก์นต�างๆaxis([xmin xmax ymin ymax])axis square ก์�าหนดร#ป้ส$�เหล$�ยม่ axis equal ก์�าหนด scale เท่�าก์�นท่�&งสอง
แก์น
กัารพลอตกัราฟกัารพลอตกัราฟ
grid on
axis([0 52 0 5]):axis([0 52 0 5]): ค่�าต��าส(ด และส#งส(ดท่างแก์น ค่�าต��าส(ด และส#งส(ดท่างแก์น x x ค่�อ ค่�อ 0 0 และ และ 5252 ค่�าต��าส(ด และส#งส(ดท่างแก์น ค่�าต��าส(ด และส#งส(ดท่างแก์น y y ค่�อ ค่�อ 0 0 และ และ 55
กัารพลอตกัราฟกัารพลอตกัราฟเม่��อม่$ก์ารส��งพลอตก์ราฟัใหม่� ร#ป้ก์ราฟัเด+ม่
จะถู#ก์ลบท่+&งและแท่นท่$�ด�วยร#ป้ก์ราฟัใหม่�หาก์ต�องก์ารพลอตร#ป้ใหม่�ซ้�อนท่�บโดยร#ป้
ก์ราฟัเด+ม่ไม่�หายไป้>> hold on
ยก์เล+ก์ค่�าส��ง hold>> hold off
กัารพลอตกัราฟกัารพลอตกัราฟ เส�น้ำกัราฟ 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,’-’)
กัารพลอตกัราฟกัารพลอตกัราฟ ฟ.งกั�ช�น้ำ legend ข�อค่วาม่อธิ+บาย
ค่วาม่หม่ายของส�นก์ราฟั>>legend(‘sinh(x)’, ’tanh(x)’)
legend
กัารพลอตกัราฟกัารพลอตกัราฟ ฟ.งกั�ช�น้ำ gtext
>>gtext(‘test’) % เม่��อก์ด enter จะม่$เค่ร��องหม่าย% ก์าก์บาท่ป้ราก์ฏบนร#ป้% ให�ค่ล+ก์ mouse ท่$�ต�าแน�งท่$�ต�องก์าร% ให�ข�อค่วาม่ test ป้ราก์ฏ
ฟ.งกั�ช�น้ำ text>>text(x,y,’test’)%x ค่�อค่�า coordinate ในแก์น x
% และ y ค่�อค่�า coordinate ใน% แก์น y ท่$�ต�องก์ารให�ข�อค่วาม่
% test ป้ราก์ฏ x และ y อาจเป้3น% vector ก์4ได�
กัารพลอตกัราฟกัารพลอตกัราฟ กัารแสดำงกัราฟย อย ( ฟั�งก์�ชั�นsubplot)subplot(m,n,p) %m แถูว n column
ร#ป้ท่$� p
65
43
21 ม่$ ม่$ 6 6 ก์ราฟั โดยเร$ยง ก์ราฟั โดยเร$ยง เป้3น เป้3น 3 3 แถูว แถูว 2 2
columncolumn จะน�บร#ป้จาก์จะน�บร#ป้จาก์ซ้�ายไป้ขวาบนลงล�าซ้�ายไป้ขวาบนลงล�า
งด�งต�วเลขในตาราง งด�งต�วเลขในตาราง
กัารพลอตกัราฟกัารพลอตกัราฟ>> 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
กัารพลอตกัราฟกัารพลอตกัราฟ ฟ.งกั�ช�น้ำ fplot
fplot(‘func’,[xmin xmax ymin ymax])
>>[x,y]=fplot(‘cos(tan(x))–tan(sin(x))’,[1 2])
ค่�าพ+ก์�ดเก์4บไว�ใน อาเรย� x และ y
เป้ร$ยบเท่$ยบ เป้ร$ยบเท่$ยบ 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])
กัารพลอตกัราฟกัารพลอตกัราฟ ฟ.งกั�ช�น้ำ 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’)
ต�วอย างกัารพลอตกัราฟต�วอย างกัารพลอตกัราฟ ให�พลอตก์ราฟัอ(ณหภู#ม่+ ระหว�าง อ(ณหภู#ม่+เซ้ลเซ้$ยส (แก์น x) ก์�บ
ฟัาเรน- ไฮต� (แก์น y) ในชั�วงอ(ณหภู#ม่+เซ้ลเซ้$ยสต�&งแต� -50 ถู9ง 100
องศาเซ้ลเซ้$ยส Input ??
อ(ณหภู#ม่+เซ้ลเซ้$ยส (TC) ก์�าหนดค่�า TC ในชั�วง -50 ถู9ง 100
Output ?? อ(ณหภู#ม่+ฟัาเรนไฮต� (TF) และก์ราฟั
Algorithm ??TF = (9/5)TC + 32
ต�วอย างกัารพลอตกัราฟต�วอย างกัารพลอตกัราฟ
กัารพลอตกัราฟกัารพลอตกัราฟ ฟ.งกั�ช�น้ำ 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])
กัารพลอตกัราฟกัารพลอตกัราฟ ฟ.งกั�ช�น้ำ set ส�าหร�บก์ารก์�าหนด tick mark
ก์ารก์�าหนด tick mark เป้3นข�อค่วาม่ สาม่ารถูท่�าได�โดยใชั�ค่�าส��ง set เชั�นก์�น>>set(gca,’Xticklabel’,[‘Jan’; ’Feb’; ’Mar’; ’Apr’; ’May’; ’Jun’])% สาม่ารถู set label ของ Tick mark ท่าง
แก์น x ให�เป้3นชั��อเด�อนได�
กัารพลอตกัราฟกัารพลอตกัราฟ: : กัราฟร*ปกัราฟร*ปแบบอ"(น้ำๆแบบอ"(น้ำๆ
ฟ.งกั�ช�น้ำ stem, stairs, bar>>x=[1:6];>>y=[13 5 7 14 10 12];
>>stem(x,y) >>stairs(x,y) >>bar(x,y)
กัารพลอตกัราฟกัารพลอตกัราฟฟั�งก์�ชั�น hist(x,n) ใชั�สร�างก์ราฟัฮ$สโตแก์รม่ของ
ต�วแป้ร x โดยต�องก์ารแบ�งชั�วงข�อม่#ลออก์เป้3น n ชั�วงใชั� plot histogram ค่วาม่ถู$�ของข�อม่#ล เชั�น
น.ศ . 20 ค่น สอบได�ค่ะแนนต�างๆ ก์�น (ค่ะแนนเต4ม่ 10)
ต�องก์ารแบ�งชั�วงค่ะแนนเป้3น 5 ชั�วงอยาก์ท่ราบจ�านวนน.ศ.สอบได�ค่ะแนน สาม่ารถูใชั� histogram สร�างก์ราฟัได�
กัารพลอตกัราฟกัารพลอตกัราฟ>> score=[2 9 4 5 4 2 9 5 6 2 8 7 2 3
9 1 6 3 4 6];>> hist(score,5)