matlab - eng.sut.ac.theng.sut.ac.th/me/meold/3_2551/425461/matlab/matlab_week4.pdf · simple plot...
TRANSCRIPT
MATLAB
Week 4
QUIZ (Monday)•
จากโปรแกรมขางลาง หากใช while loop ก็ไมจําเปนตองใชคําสั่ง break fy
ดังนั้นจงเขียนโปรแกรมขางลางนี้ใหม โดยใช while loop
QUIZ (Tueday)•
จากโปรแกรมขางลางนี้ใหม โดยใช if statement อันเดยีว
Simple Plot•
เขียนกราฟ x-y แบบงายๆ
•
คําสั่ง
plot(x,y)
: สราง linear plot ของ x-y โดย x เปนแกนนอน และ y เปนแกนตั้ง
plot(z)
: ถา z เปน complex number จะ plot ดวย (Re(z),Im(z))
plot(x,y,’str’)
: เมือ่ ‘str’ คือ character string กําหนดลักษณะ และสีของเสนกราฟ
plot(x,y,’str1’,w,v,’str2’)
: plot curve มากกวา 1 เสน ในระบบ แกนเดยีวกัน
Simple Plot•
เขียนกราฟ x-y แบบงายๆ
•
คําสั่ง
plot(x,y)
: สราง linear plot ของ x-y โดย x เปนแกนนอน และ y เปนแกนตั้ง
plot(z)
: ถา z เปน complex number จะ plot ดวย (Re(z),Im(z))
plot(x,y,’str’)
: เมือ่ ‘str’ คือ character string กําหนดลักษณะ และสีของเสนกราฟ
plot(x,y,’str1’,w,v,’str2’)
: plot curve มากกวา 1 เสน ในระบบ แกนเดยีวกัน
Character string
ตัวอยาง
Simple Plot•
คําสั่ง
plotyy(x1,y1,x2,y2)
: สราง linear
plot ของ x1-y1 และ x2-y2 แตจะ วางแกน y ไวสองขางของกราฟ y1 อยูซายมือ
และ y2 อยูขวามอื
semilogx(x,y) : สราง plot ของ x-y โดย x เปนสเกล log และ y เปนเชิงเสน
semilogy(x,y)
: สราง plot ของ x-y โดย y เปนสเกล log และ x เปนเชิงเสน
loglog(x,y)
: สราง plot บนสเกล log ของ x-y
Simple Plot•
คําสั่ง
title(‘txt’)
: เขียนชื่อกราฟ วางที่ดานบนตรงกลาง
xlabel(‘txt’)
: เขียนชื่อแกน x วางตรงกลางของแกน x
ylabel(‘txt’)
: เขียนชื่อแกน y วางตรงกลางของแกน y
grid on
: ใหแสดงลายเสนบนกราฟ
grid off
: ไมตองแสดงลายเสนบนกราฟ
hold on
: plot ซ้ําในกราฟรูปเดิม โดยไมตองลบกราฟเดิม
hold off
: ยกเลิก hold on
ตัวอยาง
ตัวอยาง
ตัวอยาง
SubPlot•
การสรางกราฟยอยใน Graphic window เดียว
•
คําสั่ง
subplot(m,n,p)
: สรางกราฟยอย โดยวางอยูในรูป matrix ขนาด
mxn และให plot ลงในตําแหนง p
ตัวอยาง
การใชคําสั่งบน Figure Windows
เลือกเมน ูedit แลว เลือก current object
properties
Show plot toolEdit plot
Current object properties
Curve fitting and Interpolation•
คอื การเปลี่ยนขอมูลที่มีลักษณะเปนกลุมใหเปน function ที่มคีวาม
ตอเนื่อง
•
Interpolation
: ฟงกชั่นจะผานทุกจุดของขอมูล
•
Curve fitting
: ฟงกชั่นอาจจะผานหรอืผานทุกจุดของ ขอมูลก็ได แตจะตองเปนฟงกชั่นตอเนื่อง และใกลเคียงกับทุกจุดมากที่สุด
Curve fitting•
วิธีที่ MATLAB ใชคือ
–
Least square : เลือก Curve ที่ไดจาก polynomial ซึ่งมี
degree ตามที่ตองการ โดย curve จะผานจุด ขอมูลที่ผลรวมระยะหางกําลังสองนอยที่สุด
P(x) = an
xn
+ an-1
xn-1
+ an-2
xn-2
+…+ a2
x2
+ a1
x + a0
Curve fitting•
คําสั่ง :
polyfit(x,y,n)
: fit curve ของขอมูล x และ y ดวย
polynomial degree n ผลที่ไดจะเปนคา สปส
ของ polynomial เรียงจากกําลังมากไปนอย
polyval(P,x)
: หาคา polynomial ที่ x ใดๆ
ตัวอยาง
•
การทดสอบระยะทางที่วัตถุเคลื่อนที่
เปลี่ยนไปตามเวลา
•
ถาตองการหาระยะทางที่วัตถุเคลื่อนที่ไป ได เมื่อเวลา t = 2.5 วินาที
ตัวอยาง
ตัวอยาง
ตัวอยาง
Interpolation•
วิธีที่ MATLAB ใชคือ
–
Polynomial interpolation
: เชื่อมตอจุดขอมูล 2 จุดที่อยูตดิกัน ดวยเสนโคงหรอืเสนตรง ถาเปน
เสนตรง linear interpolation
–
Cubic-Spline
interpolation
: เปน Curve ที่ไดจาก
polynomial degree 3 ที่เชื่อมตอ ระหวางจุดสองจุด และ slope
ระหวางเสนสองเสนที่รอยตอจะเทากัน
Linear Interpolation•
คําสั่ง :
interp1(x,y,s)
: หา linear interpolation ของชุดขอมลู x และ y
เมือ่ y=y(x) โดยจะไดผลคําตอบเปน y=y(s)
Note
: คา x จะตองเรยีงจากนอยไปหามาก
ตัวอยาง
•
การทดสอบระยะทางที่วัตถุเคลื่อนที่
เปลี่ยนไปตามเวลา
•
ถาตองการหาระยะทางที่วัตถุเคลื่อนที่ไป ได เมื่อเวลา t = 2.5 วินาที
Cubic Interpolation•
คําสั่ง :
interp1(x,y,s,’cubic’)
: หา interpolation ของชุดขอมลู x และ y
เมือ่ y=y(x) จะไดผลคาํตอบ เปน y=y(s) โดยใช cubic interpolation
Note
: คา x จะตองเรยีงจากนอยไปหามาก
Spline Interpolation•
คําสั่ง :
interp1(x,y,s,’spline’)
: หา interpolation ของชุดขอมลู x และ y
เมือ่ y=y(x) จะไดผลคาํตอบ เปน y=y(s) โดยใช cubic spline
interpolation
spline(x,y,s)
: จะให piecewise polynomial ที่ไดจากการ
Interpolate ขอมูล (x,y) โดย polynomial จะอยูใน รูป y=y(x)
ppval(pp,s)
: pp คอื piecewise polynomial และ s คอื จุดท
ี่
ตองการหาคา
ตัวอยาง
ตัวอยาง
ตัวอยาง