You are on page 1of 150

(4) MATLAB Programming

คำนำ
การโปรแกรมมิง่ คอมพิวเตอร์ดว้ ยภาษาแบบใช้รูปภาพ (Graphic User Interface: GUI)
ในปั จจุบนั ได้รบั การพัฒนาไปไกลมาก มีความง่าย สะดวก และคุณ สมบัติอ่นื ที่น่าสนใจมากขึ้น
สามารถตอบโจทย์ของผูใ้ ช้งานได้ตรงตามความต้องการ โปรแกรม MATLAB เป็ นภาษาโปรแกรม
ที่ส ืบ ทอดและพัฒ นามาจากภาษา FORTRAN ถู กออกแบบให้ม าใช้งานด้านการค านวณทาง
คณิตศาสตร์โดยเฉพาะ จึงเป็ นแพลตฟอร์มทีส่ าคัญสาหรับการศึกษาด้านวิศวกรรม วิทยาศาสตร์
และการวิจยั เป็ นเครื่องมือที่น่าสนใจอย่างมากสาหรับผู้เริม่ ต้น จุดเด่นที่เห็นได้ชดั ของโปรแกรม
MATLAB คือ ไม่จาเป็ นต้องประกาศประเภทตัวแปร หรือชนิดของข้อมูล ล่วงหน้ า ยิง่ ถ้าเป็ นการ
คานวณข้อมูลประเภท เวกเตอร์ เมทริกซ์ อาร์เรย์หลายมิติ และจานวนเชิงซ้อนแล้ว โปรแกรม
MATLAB มีความง่ายและสะดวกในการใช้งานอย่างมาก
MATLAB GUI เป็ นโปรแกรมมิง่ คอมพิวเตอร์ด้วยรูปภาพโปรแกรมหนึ่งที่เต็มไปด้วย
คุณสมบัติท่นี ่ าใช้งาน และมีสมรรถนะสูงด้านการคานวณทางคณิตศาสตร์ และการอินเทอร์เฟซ
ติดต่อประสานกับผูใ้ ช้งาน เครื่องมือสาหรับการสร้าง GUI ทีน่ าเสนอนี้สามารถเรียนรูแ้ ละนาไปใช้
งานได้กบั ผูใ้ ช้งานหลายระดับได้แก่ นักเรียนระดับมัธยมศึกษาตอนปลาย ระดับ ปวช. ปวส. และ
นักศึกษาในระดับปริญ ญาตรี สาขาวิศวกรรมศาสตร์และวิทยาศาสตร์ ครู-อาจารย์ นักวิชาการ
นักวิจยั หรือผูท้ ส่ี นใจ จะเป็ นคู่มอื หรือหนังสือที่จะช่วยให้การเรียนรูก้ ารใช้งานโปรแกรมได้ง่ายขึน้
สะดวก รวดเร็วในการทาความเข้าใจและนาไปใช้งาน
หวัง เป็ นอย่ า งยิ่ ง ว่ า ต าราเล่ ม นี้ จ ะช่ ว ยเปิ ดมุ ม มองใหม่ ๆ ในการโปรแกรมมิ่ ง
คอมพิวเตอร์สาหรับผู้เริม่ ต้นที่กาลังมองหาเครื่องมือในการเขียนโปรแกรมที่เป็ นภาษาแรก หรือ
เป็ นภาษาทางเลือกสาหรับผูใ้ ช้งานการโปรแกรมคอมพิวเตอร์อยู่แล้ว

สุวทิ ย์ เมาะราษี
มิถุนายน 2562
(ผูเ้ ขียน)

(4) การเขียนโปรแกรมภาษา MATLAB


MATLAB Programming (5)

สารบัญ
เรื่อง หน้ า
ปกใน (1)
ข้อมูลหนังสือ (2)
เกีย่ วกับผูเ้ ขียน (3)
คานา (4)
สารบัญ (5)
การโปรแกรมภาษา MATLAB (MATLAB Programming)
บทที่ 1 แนะนา MATLAB และการติ ดตัง้ 1-1
บทนา ................................................................................................................... 1-1
1.1 คุณลักษณะของโปรแกรม MATLAB ........................................................... 1-1
1.2 ลักษณะการโปรแกรมและการทางานของ MATLAB ................................... 1-2
1.3 จุดเริม่ ต้นของโปรแกรม MATALB .............................................................. 1-3
1.4 ส่วนประกอบสาคัญของ MATLAB .............................................................. 1-4
1.5 โปรแกรม MATLAB Simulink...................................................................... 1-9
1.6 ส่วนประกอบสาคัญของ MATLAB Simulink ................................................ 1-10
1.7 การติดตัง้ โปรแกรม MATLAB ..................................................................... 1-15
ระบบปฏิบตั กิ ารทีร่ องรับ - R2018b ........................................................... 1-15
ตรวจสอบสมรรถนะของระบบปฏิบตั กิ ารและเครื่องคอมพิวเตอร์ ............... 1-15
ดาวน์โหลดไฟล์ตดิ ตัง้ โปรแกรม MATLAB .................................................. 1-17
1) การลงทะเบียนสมาชิก (Log in or create account) ..................... 1-18
2) ดาวน์โหลดโปรแกรมติดตัง้ .......................................................... 1-23
3) การติดตัง้ โปรแกรม MATLAB r2018b ......................................... 1-26
สรุปท้ายบท ......................................................................................................... 1-34

บทที่ 2 เริ่ มต้นใช้งานการโปรแกรมมิ่ งภาษา MATLAB 2-1


บทนา ................................................................................................................... 2-1
2.1 ใช้งานโปรแกรม MATLAB Desktop (IDE) .................................................. 2-1
2.2 การจัดการหน้าต่างบน MATLAB Desktop.................................................. 2-7
2.3 คุณสมบัตติ วั แปร MATLAB ........................................................................ 2-8

การเขียนโปรแกรมด้วยภาษา MATLAB (5)


(6) MATLAB Programming

สารบัญ (ต่อ)
เรื่อง หน้ า
กาหนดชื่อตัวแปร ....................................................................................... 2-10
ตัวแปรในเวิรค์ สเปซ ................................................................................... 2-11
2.4 เลขจานวนและฟั งก์ชนั ............................................................................... 2-12
หมายเหตุ: คาแนะนา.................................................................................. 2-17
2.5 การเขียนโค้ดและภาษาสคริปต์ .................................................................. 2-18
หมายเหตุ: ข้อสังเกต .................................................................................. 2-19
รันโค้ดไฟล์สคริปต์ ...................................................................................... 2-21
โครงสร้างของการเขียนโค้ด: ไฟล์สคริปต์ ................................................... 2-22
หมายเหตุ: ข้อสังเกต .................................................................................. 2-24
2.6 ข้อผิดพลาดและการตรวจสอบโปรแกรม .................................................... 2-25
แจ้งเตือนข้อผิดพลาด ................................................................................. 2-25
แบบแปลนของโปรแกรม ............................................................................ 2-27
หมายเหตุ: ข้อแนะนา ................................................................................. 2-29
2.7 การใช้งาน Debugger .................................................................................. 2-29
สรุปท้ายบท ......................................................................................................... 2-32

บทที่ 3 ข้อมูลแบบจานวนตัวเลขและสตริ ง 3-1


บทนา ................................................................................................................... 3-1
3.1 ข้อมูลแบบสตริง .......................................................................................... 3-2
หมายเหตุ: ข้อสังเกต .................................................................................. 3-4
3.2 การรับค่าข้อมูลอินพุท ................................................................................ 3-4
3.3 ข้อมูลแบบเวกเตอร์..................................................................................... 3-5
Transpose Vector ....................................................................................... 3-9
3.4 การคานวณทางเวกเตอร์ ............................................................................ 3-10
Vectors Operations with a scalar ............................................................... 3-10
Element-by-element Operations with two vectors ...................................... 3-11
คาสัง/ฟั
่ งก์ชนั สาหรับเวกเตอร์ .................................................................... 3-12
สร้างเอลิเมนต์ในเวกเตอร์ ................................................................ 3-13
จานวนเอลิเมนต์ในเวกเตอร์ (Length of vectors) ............................ 3-14

(6) การเขียนโปรแกรมภาษา MATLAB


MATLAB Programming (7)

สารบัญ (ต่อ)
เรื่อง หน้ า
ดึงค่าเอลิเมนต์ในเวกเตอร์ (Sub-vectors) ........................................ 3-14
การต่อเวกเตอร์ (Vector Concatenating) ......................................... 3-16
คาสัง/ฟั
่ งก์ชนั ทางสถิติ (Statistical functions) .................................. 3-17
3.5 ฟั งก์ชนั rand และ randi .............................................................................. 3-18
สรุปท้ายบท ......................................................................................................... 3-20

บทที่ 4 เมทริ กซ์ 4-1


บทนา ................................................................................................................... 4-1
4.1 การสร้างเมทริกซ์ ....................................................................................... 4-1
หมายเหตุ: ข้อสังเกต .................................................................................. 4-4
ขนาดของเมทริกซ์ (Size of a matrix) ........................................................ 4-6
ทรานสโพสเมทริกซ์ (Matrix Transpose) ................................................... 4-7
4.2 การคานวณทางเมทริกซ์ ............................................................................ 4-7
Matrix Operations with a scalar ................................................................. 4-7
Matrix Operations with two Matrixes .......................................................... 4-8
การบวกและการลบเมทริกซ์ ............................................................ 4-8
การคูณเมทริกซ์ ............................................................................... 4-9
เมทริกซ์เอกลักษณ์ (Identity Matrix) ......................................................... 4-11
เมทริกซ์ผกผัน (Inverse Matrix) ................................................................ 4-12
ดีเทอร์มแิ นนต์ของเมทริกซ์ (Determinant of Matrix) ................................. 4-13
การคูณเมทริกซ์กบั เวกเตอร์ (Matrix-Vector Multiplication) ....................... 4-14
การแก้สมการเชิงเส้นโดยใช้เมทริกซ์.......................................................... 4-15
4.3 ฟั งก์ชนั สาหรับสร้างเมทริกซ์ ...................................................................... 4-17
สรุปท้ายบท ......................................................................................................... 4-18

บทที่ 5 คาสังควบคุ
่ มโปรแกรม 5-1
บทนา ................................................................................................................... 5-1
5.1 การทางานแบบมีเงือ่ นไข............................................................................ 5-2

การเขียนโปรแกรมด้วยภาษา MATLAB (7)


(8) MATLAB Programming

สารบัญ (ต่อ)
เรื่อง หน้ า
คาสัง่ if – end ............................................................................................. 5-2
คาสัง่ if – else – end .................................................................................. 5-3
คาสัง่ if – elseif – else – end ...................................................................... 5-4
5.2 คาสังเงื่ อ่ นไขเชิงตรรกะ .............................................................................. 5-6
หมายเหตุ: ข้อแนะนา ................................................................................. 5-7
5.3 Logical variables......................................................................................... 5-7
5.4 การทางานแบบวนซ้า ................................................................................. 5-10
คาสัง่ for – end ........................................................................................... 5-10
หมายเหตุ: ข้อแนะนา ................................................................................. 5-11
คาสัง่ while – end ....................................................................................... 5-11
5.5 การทางานแบบเลือกเงือ่ นไข คาสัง่ switch – case ..................................... 5-13
สรุปท้ายบท ......................................................................................................... 5-14

บทที่ 6 กราฟิ กและการพล็อต 6-1


บทนา ................................................................................................................... 6-1
6.1 คาสัง่ plot .................................................................................................... 6-1
การปรับตัง้ สเกลของแกนบนกราฟ ............................................................. 6-4
การพล็อตข้อความ...................................................................................... 6-5
6.2 พล็อตกราฟด้วยฟั งก์ชนั y=f(x) .................................................................. 6-8
หมายเหตุ: ข้อสังเกต .................................................................................. 6-11
6.3 พล็อตกราฟด้วยฟั งก์ชนั ............................................................................. 6-11
พล็อตกราฟต่างๆ ด้วยคาสังพล็ ่ อต ............................................................. 6-11
พล็อตกราฟต่างๆ โดยใช้คาสัง่ hold on ...................................................... 6-13
6.4 พล็อตกราฟแผนภูมแิ ท่งและกราฟฮิสโตแกรม............................................ 6-16
การพล็อตกราฟแท่งด้วยคาสัง่ bar() ........................................................... 6-16
การพล็อตกราฟฮิสโตแกรมด้วยคาสัง่ hist()................................................ 6-19
6.5 พล็อตกราฟ 3 มิติ....................................................................................... 6-21
สรุปท้ายบท ......................................................................................................... 6-23

(8) การเขียนโปรแกรมภาษา MATLAB


MATLAB Programming (9)

สารบัญ (ต่อ)
เรื่อง หน้ า
บทที่ 7 เริ่ มต้นใช้งาน MATLAB Simulink 7-1
บทนา ................................................................................................................... 7-1
7.1 แนะนา MATLAB Simulink.......................................................................... 7-1
7.2 การเปิ ดใช้งาน MATLAB Simulink .............................................................. 7-3
7.3 การสร้างโมเดล (Creating a Model)............................................................ 7-9
การเปิ ดและจัดหน้าต่างทางาน ................................................................... 7-9
การเลือกบล็อกเซตชุดคาสัง่ ....................................................................... 7-10
การเลือกและปรับขนาดบล็อกเซต .............................................................. 7-12
การเลือกมากกว่า 1 บล็อกเซต................................................................... 7-13
การแสดงชื่อบล็อกเซต ............................................................................... 7-14
การกาหนดชื่อให้กบั บล็อกเซต ................................................................... 7-14
การ Duplicate บล็อกเซต............................................................................ 7-14
การกาหนดสีให้กบั บล็อกเซต ..................................................................... 7-16
การสร้างเส้นเชื่อมต่อระหว่างบล็อกเซต ..................................................... 7-17
การสร้างเส้นเชื่อมต่อแบบอัตโนมัติ ............................................................ 7-18
วิธกี ารสร้างเส้นเชื่อมต่ออัตโนมัตริ ะหว่าง 1 บล็อกเซต .................... 7-18
วิธกี ารสร้างเส้นเชื่อมต่ออัตโนมัตเิ ป็ นกลุ่มบล็อกเซต ....................... 7-18
การสร้างเส้นแยกสาขา ............................................................................... 7-19
การจัดตาแหน่งเส้นเชื่อม ............................................................................ 7-20
การแทรกบล็อกเซตเข้าไปในเส้นเชื่อม ....................................................... 7-20
การดึงบล็อกเซตออกจากเส้นเชื่อม ............................................................ 7-21
คาอธิบายประกอบบล็อกเซต...................................................................... 7-21
การตัง้ ค่าคุณสมบัตบิ ล็อกคาอธิบาย ................................................. 7-23
บล็อกคาอธิบายสัญลักษณ์ทางคณิตศาสตร์ ............................................... 7-24
หมายเหตุ: ข้อสังเกต .................................................................................. 7-26
สร้างเส้นเชื่อมต่อแนวทแยงมุม .................................................................. 7-29
การจัดแนวตาแหน่งของบล็อกเซต ............................................................. 7-31
การระบุพน้ื ทีใ่ ห้กบั กลุ่มบล็อกเซต .............................................................. 7-32

การเขียนโปรแกรมด้วยภาษา MATLAB (9)


(10) MATLAB Programming

สารบัญ (ต่อ)
เรื่อง หน้ า
การสร้างพืน้ ทีก่ ลุ่มบล็อกเซต ........................................................... 7-32
การเปลีย่ นสีพน้ื หลังให้กบั พืน้ ทีก่ ลุ่มบล็อกเซต................................. 7-33
การย้ายพืน้ ทีก่ ลุ่มบล็อกเซต ............................................................. 7-34
การสร้างระบบย่อย (Sub-System) ............................................................. 7-35
หมายเหตุ: ข้อแนะนา ................................................................................. 7-36
การเปิ ดระบบย่อย Sub-System .................................................................. 7-37
7.4 การรันโปรแกรมและพืน้ ฐานซิมมูเลชัน ....................................................... 7-38
การควบคุมการรันโปรแกรมด้วยปุ่มควบคุม ............................................... 7-39
สังรั
่ นและหยุดโปรแกรมชัวคราวเป็่ นสเต็ป ....................................... 7-41
การควบคุมการรันโปรแกรมด้วยบล็อกเซต ................................................ 7-42
การใช้บล็อกเซต “Stop” .................................................................... 7-42
หมายเหตุ: ข้อแนะนา ................................................................................. 7-43
การใช้บล็อกเซต “Assertion” สาหรับการหยุดชัวคราว ่ (Pause) ....... 7-44
7.5 หน้าต่าง Simulink Editor (เพิม่ เติม) ............................................................ 7-47
ส่วนประกอบหน้าต่างโดยรวม Editor Layout .............................................. 7-47
Title bar ............................................................................................ 7-47
Menu bar และ Toolbar ..................................................................... 7-48
Palette menu .................................................................................... 7-48
Explorer bar ..................................................................................... 7-49
Model Browser ................................................................................. 7-49
7.6 การใช้งาน Simulation Stepper ................................................................... 7-49
สถานะการใช้งาน Simulation Stepper ........................................................ 7-51
การปรับตัง้ พารามิเตอร์ .............................................................................. 7-52
7.7 การใช้งาน Conditional Breakpoints ............................................................ 7-54
การเพิม่ จุดและการแก้ไขจุด Conditional Breakpoints ................................. 7-55
ข้อจากัด Conditional Breakpoints ............................................................... 7-56
แสดงข้อมูลทีจ่ ุด Conditional Breakpoints ................................................... 7-57
7.8 การเรียกใช้งานคาสังด้ ่ วยคียด์ ่วนและเมาส์ ................................................. 7-59

(10) การเขียนโปรแกรมภาษา MATLAB


MATLAB Programming (11)

สารบัญ (ต่อ)
เรื่อง หน้ า
คียด์ ่วนสาหรับมุมมอง/วิวโมเดล ................................................................. 7-59
คียด์ ่วนสาหรับแก้ไขโมเดล ......................................................................... 7-59
คียด์ ่วนสาหรับจัดการโมเดล ....................................................................... 7-60
คียด์ ่วนสาหรับ Simulation และ Code Generation ...................................... 7-60
คียด์ ่วนสาหรับ Debugging และ Breakpoints.............................................. 7-61
7.9 การอัพเดทคุณลักษณะของไดอะแกรม ...................................................... 7-61
7.10 การพิมพ์โมเดลเบือ้ งต้น ............................................................................. 7-65
การพิมพ์บล็อกไดอะแกรมระบบย่อย (Sub-System) .................................. 7-67
7.11 คานวณสมการคณิตศาสตร์ดว้ ยโมเดล ....................................................... 7-70
ตัวอย่างที่ 1: แปลงค่าอุณหภูมจิ ากหน่วยองศาฟาเรนไฮน์
เป็ นองศาเซลเซียส ..................................................................................... 7-70
ตัวอย่างที่ 2: แปลงหน่วยอุณหภูมิ โมเดล 2.............................................. 7-82
1) เงือ่ นไขโปรแกรม ......................................................................... 7-83
2) แยกส่วนประกอบไดอะแกรมจากสมการ ..................................... 7-83
3) การเขียนโมเดล ........................................................................... 7-84
4) การตัง้ ค่าคุณสมบัตบิ ล็อกเซต...................................................... 7-85
5) การรันโปรแกรม .......................................................................... 7-90
6) ผลลัพธ์การรันโปรแกรม .............................................................. 7-91
ตัวอย่างที่ 3: การคานวณสมการเชิงอนุพนั ธ์............................................. 7-94
1) เงือ่ นไขโปรแกรม ......................................................................... 7-94
2) แยกส่วนประกอบไดอะแกรมจากสมการ ..................................... 7-94
3) การเขียนโมเดล ........................................................................... 7-95
4) การตัง้ ค่าคุณสมบัตบิ ล็อกเซต...................................................... 7-96
5) การรันโปรแกรม .......................................................................... 7-100
6) ผลลัพธ์การรันโปรแกรม .............................................................. 7-100
7) สร้างและปรับปรุงบล็อกไดอะแกรม ............................................. 7-101
8) การรันโปรแกรมและผลลัพธ์ ........................................................ 7-104
สรุปท้ายบท ......................................................................................................... 7-106

การเขียนโปรแกรมด้วยภาษา MATLAB (11)


(12) MATLAB Programming

สารบัญ (ต่อ)
เรื่อง หน้ า
บทที่ 8 ชนิ ดของข้อมูลบน Simulink 8-1
บทนา ................................................................................................................... 8-1
8.1 ชนิดของข้อมูลทีส่ นับสนุนบน MATLAB Simulink ....................................... 8-1
8.2 การแสดงชนิดข้อมูลบนเส้นเชื่อมต่อ ........................................................... 8-2
หมายเหตุ: ข้อแนะนา ................................................................................. 8-5
8.3 มาตรฐานข้อมูลบน Simulink...................................................................... 8-5
8.4 ชนิดข้อมูลแบบจุดตรึง Fixed-Point............................................................ 8-5
8.5 การแปลงชนิดข้อมูลด้วยบล็อกเซต Data type conversion ....................... 8-6
สรุปท้ายบท ......................................................................................................... 8-8

บทที่ 9 บล็อกเซตควบคุมไดอะแกรม/โมเดล 9-1


บทนา ................................................................................................................... 9-1
9.1 บล็อกเซต If และ If Action Subsystem ..................................................... 9-2
การกาหนดคุณสมบัตอิ นิ พุทพอร์ต ............................................................. 9-6
การกาหนดคุณสมบัตเิ งือ่ นไข ..................................................................... 9-8
หมายเหตุ: ข้อแนะนา ................................................................................. 9-9
ตัวอย่างการใช้งานบล็อกเซต If-end ........................................................... 9-10
1) เงือ่ นไขโปรแกรม ......................................................................... 9-10
2) เขียนโมเดล/บล็อกไดอะแกรม ..................................................... 9-11
3) การตัง้ ค่าคุณสมบัตบิ ล็อกเซต ...................................................... 9-11
4) กาหนดคุณสมบัตกิ ารรันโปรแกรม............................................... 9-14
5) ผลลัพธ์การรันโปรแกรม .............................................................. 9-15
หมายเหตุ: ข้อแนะนา ................................................................................. 9-16
9.2 บล็อกเซต Switch Case และ Switch Case Action Subsystem ............... 9-17
คุณสมบัตขิ อ้ มูลอินพุท ................................................................................ 9-21
การกาหนดคุณสมบัตเิ งือ่ นไข Case ........................................................... 9-21
หมายเหตุ: ข้อแนะนา ................................................................................. 9-22
ตัวอย่างการใช้งานบล็อกเซต Switch Case ............................................... 9-23

(12) การเขียนโปรแกรมภาษา MATLAB


MATLAB Programming (13)

สารบัญ (ต่อ)
เรื่อง หน้ า
2) เงือ่ นไขโปรแกรม ......................................................................... 9-24
3) เขียนโมเดล/บล็อกไดอะแกรม ..................................................... 9-25
4) การตัง้ ค่าคุณสมบัตบิ ล็อกเซต...................................................... 9-25
5) กาหนดคุณสมบัตกิ ารรันโปรแกรม............................................... 9-30
6) ผลลัพธ์การรันโปรแกรม .............................................................. 9-30
9.3 บล็อกเซตทางานแบบวนซ้า (Iterator Control Flow Statements) ............ 9-34
บล็อกเซต For Iterator Subsystem ............................................................. 9-35
1) การตัง้ ค่าคุณสมบัตบิ ล็อกเซต ..................................................... 9.37
2) กาหนดคุณสมบัตกิ ารรันโปรแกรม .............................................. 9.38
3) ผลลัพธ์การรันโปรแกรม .............................................................. 9.39
หมายเหตุ: ข้อแนะนา ................................................................................. 9.39
บล็อกเซต บล็อกเซต While-do Iterator Subsystem ................................... 9.40
1) การตัง้ ค่าคุณสมบัตบิ ล็อกเซต ..................................................... 9.42
2) กาหนดคุณสมบัตกิ ารรันโปรแกรม .............................................. 9.44
3) ผลลัพธ์การรันโปรแกรม .............................................................. 9.44
หมายเหตุ: ข้อแนะนา ................................................................................. 9.45

การเขียนโปรแกรมด้วยภาษา MATLAB (13)


MATLAB IDE Programming หน้า 2–1

บทที่ 2
เริ่มต้นใช้งาน MATLAB
บทนำ
ในฐานะที่โ ปรแกรม MATLAB เป็ นเครื่อ งคิด เลขที่ท รงพลัง และเป็ นแพลตฟอร์ม
(Platform) ทีเ่ ต็มไปด้วยสมรรถนะสาหรับการเขียนโปรแกรมทีม่ คี วามง่าย และมีความสะดวกเหมาะ
สาหรับผู้เริม่ ต้นใหม่ เนื้อหาในบทนี้จะเป็ นการเรียนรู้การใช้งานโปรแกรม MATLAB แบบพื้นฐาน
หรือฉบับเบื้องต้นก่อนเป็ นอันดับแรก ซึ่งจะนาเสนอตัวอย่างและการนาไปใช้งานจะเน้นทางด้าน
ตัวเลข และการแก้ไขปั ญหาทางคณิตศาสตร์พน้ื ฐานแบบง่ายๆ ฝึกเขียนโค้ดตอบโต้การโปรแกรมมิง่
แบบทีละคาสัง่ (Immediate Mode) เรียนรูเ้ รื่องของตัวแปร และการใช้งานฟั งก์ชนั ทางคณิตศาสตร์
เป็ นต้น เพือ่ ให้ผใู้ ช้งานมีความคุน้ เคยและมีทกั ษะการใช้งานโปรแกรมเพิม่ ขึน้ ดังนี้
 ใช้งานโปรแกรม MATLAB Desktop เพือ่ ประมวลผลคาสังบนหน้ ่ าต่าง Command
Window
 สร้างตัวแปร และกาหนดค่าให้กบั ตัวแปร
 เรียกใช้งานฟั งก์ชนั ทางคณิตศาสตร์ เช่น sine, cosine และ exponential เป็ นต้น
 เรียนรูก้ ารหาข้อมูลเพิม่ เติมจาก Help ของ MATLAB
 ฝึกเขียนโค้ดและโปรแกรมมิง่ แบบทีละคาสัง่ (Immediate mode code writing)
กาหนดค่าตัวแปร คานวณหาคาตอบ และแสดงผลลัพธ์บนหน้าต่าง Command
Window
 ฝึกเขียนโค้ด ทดสอบการทางานโปรแกรม (MATLAB debugger) และรันไฟล์สคริปต์
(Script Mode code writing) บนหน้าต่าง Editor Window

2.1 ใช้งานโปรแกรม MATLAB Desktop (IDE)


ดังทีก่ ล่าวแล้วในบทที่ 1 ทีผ่ ่านมาเกี่ยวกับโปรแกรม MATLAB ว่า มีหน้าตาเป็ นอย่างไร
และประกอบด้วยอะไรบ้าง ส่วนการเรียกใช้งานนัน้ ผู้ใช้งานทาได้โดยดับเบิ้ลคลิกที่ไอคอนหน้า
เดสก์ทอ็ ปของระบบปฏิบตั กิ าร Windows หรือจะเรียกใช้งานจาก Start หรือ Programs menu ก็ได้
แสดงดังรูปที่ 2.1 จะปรากฏหน้าต่าง MATLAB IDE ดังรูปที่ 2.2 แต่ละหน้าต่างจะถูกจัดแบ่งออกเป็ น
หมวดหมู่ส าหรับการท างานเป็ น 3 แท็บ ( HOME, PLOTS และ APPS) แต่ล ะแท็บจะมีไ อคอน
คอนโทรลสาหรับให้ผใู้ ช้งานคลิกเลือกใช้งานได้

เริม่ ต้นใช้งานโปรแกรม MATLAB IDE


(Getting Started with MATLAB IDE) บทที่ 2
หน้า 2–2 MATLAB IDE Programming

ดับเบิ้ลคลิก

คลิกไอคอน

คลิกเลือก

รูปที่ 2.1 เรียกใช้งาน MATLAB จากหน้าเดสก์ทอ็ ป และ Start หรือ Programs menu

Command Window
Current Folder browser
Workspace Window

รูปที่ 2.2 หน้าต่าง MATLAB IDE และหน้าต่างภายในทีส่ าคัญ


เริม่ ต้นใช้งานโปรแกรม MATLAB IDE
บทที่ 2 (Getting Started with MATLAB IDE)
MATLAB IDE Programming หน้า 2–3

บนหน้าต่าง MATLAB Desktop (IDE) (ดังรูปที่ 2.2) จะมีหน้าต่างย่อยภายในทีส่ าคัญๆ ซึง่


จะต้องเรียนรูแ้ ละทาความรูจ้ กั ให้คุน้ เคย มีจานวน 6 หน้าต่าง ดังนี้
1) Command window หรือหน้าต่างคาสัง่ เป็ นหน้าต่างทีใ่ ช้ประสานงานหรือตอบโต้กนั
ระหว่างผูใ้ ช้งานกับโปรแกรม MATLAB โดยจะพิมพ์คาสังต่ ่ างๆ หลังเครื่องหมายพรอมต์ (Prompt)
และกดคีย์ Enter เพือ่ ประมวลผลคาสังนั ่ น้ ๆ แสดงดังรูปที่ 2.3

รูปที่ 2.3 ประมวลผลคาสังบนหน้


่ าต่าง Command window

ดับเบิ้ลคลิก Variable Editor Window

รูปที่ 2.4 ตัวแปรบนหน้าต่าง Workspace window

เริม่ ต้นใช้งานโปรแกรม MATLAB IDE


(Getting Started with MATLAB IDE) บทที่ 2
หน้า 2–4 MATLAB IDE Programming

2) Workspace window เป็ นพื้นที่สาหรับใช้แสดงตัวแปรทัง้ หมด จะแสดงและบ่งบอก


ชื่อตัวแปร ค่าข้อมูลภายในตัวแปร หรือคุณสมบัตอิ ่นื ของตัวแปรนัน้ ดังรูปที่ 2.4 ถ้าผูใ้ ช้งานต้องการ
ดูค่าข้อมูลหรือแก้ไขข้อมูลภายในตัวแปรใดๆ ทาได้โดยดับเบิ้ลคลิกที่ตวั แปรนัน้ แล้วโปรแกรมจะ
เปิ ดหน้าต่าง “Variable Editor window” ขึน้ จะสังเกตเห็นรูปไอคอนและตัวเลขเป็ นสัญลักษณ์ของ
อาร์เรย์ ในรูปแบบของเวกเตอร์ หรือเมทริกซ์ และขนาดข้อมูล แสดงดังรูปที่ 2.4

3) Current Folder browser เป็ นหน้าต่างแสดงโฟลเดอร์ท่ี MATLAB ใช้บนั ทึกไฟล์ขอ้ มูล


ไว้ท่ไี ดเรกทรอรีปัจจุบนั รายละเอียดบนหน้าต่างนี้ จะแสดงไฟล์และไดเรกทอรีอ่นื ๆ (โฟลเดอร์)
ทีอ่ ยู่ในไดเรกทอรีปัจจุบนั ผูใ้ ช้งานสามารถสร้างไฟล์งาน/ไดเรกทรอรีใหม่ ลบไฟล์งาน/ไดเรกทรอรี
ออกจากโฟลเดอร์ปัจจุบนั และยังสามารถใช้เปลี่ยนเส้นทางไปยังไดเรกทรอรีอ่นื ๆ บนฮาร์ดดิสก์
เหมือนกับการใช้งาน File explorer บนวินโดวส์ดว้ ย หน้าต่างนี้สามารถทาการโหลดไฟล์ขอ้ มูลและ
บันทึกไฟล์ขอ้ มูลของโปรแกรม MATLAB ได้ดว้ ย แสดงดังรูปที่ 2.5

รูปที่ 2.5 หน้าต่าง Current Folder และคุณสมบัตอิ ่นื ๆ สาหรับนาไปใช้งาน

4) Editor window หรือหน้าต่างเขียน/แก้ไขโค้ด หรือไฟล์สคริปต์ (ไฟล์นามสกุล .m-file)


เป็ น โปรแกรมที่ MATLAB ออกแบบไว้ส าหรับ การเขีย นโค้ด สามารถบัน ทึก เก็บ เป็ น ไฟล์ ไ ด้
มีนามสกุ ล ชื่อ .m ผู้ใ ช้จะโหลดไฟล์มาเพื่อ การแก้ไขเพิ่มเติมและน าโค้ดมารัน ภายหลังได้ และ
หน้าต่างนี้ จะมีเครื่องมืออานวยความสะดวกต่างๆ มากมายสาหรับการเขียนโค้ด แสดงดังรูปที่ 2.6
ส่วนการเรียกใช้งานและการเปิ ดหน้าต่าง Editor window สามารถทาได้ 2 วิธี คือ
เริม่ ต้นใช้งานโปรแกรม MATLAB IDE
บทที่ 2 (Getting Started with MATLAB IDE)
MATLAB IDE Programming หน้า 2–5

4.1) คลิกไอคอนคอนโทรล “New Script” บนหน้าต่าง MATLAB Desktop (IDE) หรือ


4.2) พิมพ์คาสัง่ “editor” หลังเครื่องหมายพรอมต์ บนหน้าต่าง Command window แสดง
ดังรูปที่ 2.7

รูปที่ 2.6 หน้าต่าง Editor window

คลิกไอคอน

พิมพ์คำสั่ง
รูปที่ 2.7 การเรียกใช้งานโปรแกรม Editor สาหรับการเขียนโค้ด

5) Figures window เป็ นหน้าต่างสาหรับการแสดงผลลัพธ์ ปริมาณข้อมูลต่างๆ ได้แก่


ตัวเลข ตัวอักษร รูปกราฟ และรูปภาพต่างๆ เป็ นต้น หน้าต่าง Figure นี้จะปรากฏเมื่อผู้ใ ช้ง าน
เรียกใช้คาสัง่ figure, imshow, plot เป็ นต้น บนหน้าต่าง Command window หรือรันโค้ดบนโปรแกรม
MATLAB Editor แสดงดังรูปที่ 2.8

เริม่ ต้นใช้งานโปรแกรม MATLAB IDE


(Getting Started with MATLAB IDE) บทที่ 2
หน้า 2–6 MATLAB IDE Programming

รูปที่ 2.8 หน้าต่าง Figure ทีเ่ รียกใช้งานโดยใช้คาสัง่ figure และ plot บน Command window

6) Variable Editor window เป็ นหน้ าต่างสาหรับแสดงค่าข้อมูลอยู่ในรูปของช่องเซลล์


หรือสเปรดชีต สามารถแก้ไขค่าข้อมูลของตัวแปรได้ หน้าต่างนี้จะปรากฏขึน้ เมื่อผูใ้ ช้งานดับเบิ้ลคลิก
ที่ตวั แปรบนหน้าต่าง Workspace จะสังเกตเห็นรูปไอคอนและตัวเลขเป็ นสัญลักษณ์ของอาร์เ รย์
ในรูปแบบของเวกเตอร์ หรือเมทริกซ์ และขนาดข้อมูล ซึ่งได้อธิบายไปแล้วข้างต้น ดังรูปที่ 2.4 ถ้า
ต้องการใส่ขอ้ มูลใหม่ใดๆ ลงไป ให้ดบั เบิล้ คลิกทีช่ ่องเซลล์นนั ้ ๆ และใส่ค่าลงไป แสดงดังรูปที่ 2.9

ดับเบิ้ลคลิก

รูปที่ 2.9 แก้ไข/ใส่ขอ้ มูลใหม่ให้กบั ตัวแปรบนหน้าต่าง Variable Editor

เริม่ ต้นใช้งานโปรแกรม MATLAB IDE


บทที่ 2 (Getting Started with MATLAB IDE)
MATLAB IDE Programming หน้า 2–7

2.2 การจัดการหน้าต่างบน MATLAB Desktop (IDE)


หน้าต่างการทางานสาคัญๆ 6 หน้าต่างตามหัวข้อที่ 2.1 นัน้ ผูใ้ ช้งานสามารถปิ ดหน้าต่าง
ออกจากหน้าต่างหลักบน MATLAB Desktop ได้เมื่อไม่ต้องการใช้งาน หรือแยกอิสระจากหน้าต่าง
หลักได้ โดยใช้เมนูแบบเลื่อนลงรูปลูกศร (Pull-Down menu) จะอยู่ท่มี ุมขวาบนของหน้าต่าง แล้ว
เลือกคาสังตามต้
่ องการ แสดงดังรูปที่ 2.10 ถ้าต้องการคืนค่าตาแหน่งหน้าต่างที่ MATLAB ตัง้ ค่าไว้
(Default) ทาได้โดยการคลิกทีไ่ อคอนคอนโทรล จัดการ Layout แสดงดังรูปที่ 2.11

คลิกไอคอน

Pull-Down เมนู

รูปที่ 2.10 เมนูคาสังส


่ าหรับการจัดการหน้าต่างย่อย

เริม่ ต้นใช้งานโปรแกรม MATLAB IDE


(Getting Started with MATLAB IDE) บทที่ 2
หน้า 2–8 MATLAB IDE Programming

คลิกเลือก

รูปที่ 2.11 การคืนค่าตาแหน่งหน้าต่างเป็ นค่า Default

2.3 คุณสมบัตขิ องตัวแปร MATLAB


ตัว แปรของโปรแกรม MATLAB ถู ก ออกแบบมาให้ ใ ช้ ง านง่ า ยๆ จะเก็ บ ไว้ ภ ายใน
หน่วยความจาของคอมพิวเตอร์โดยอัตโนมัติ โดยผูใ้ ช้งานไม่จาเป็ นต้องกังวลกับการประกาศชนิด
ของตัวแปร โปรแกรม MATLAB จะดาเนินการประกาศชนิดของตัวแปร และจัดสรรพื้นที่จดั เก็บ
ข้อมูลให้โดยอัตโนมัติ นี้เป็ นจุดเด่นของโปรแกรม MATLAB เหมาะสาหรับมือใหม่ท่กี าลังหัดเขียน
โค้ดเป็ นอย่างยิง่
ยกตัวอย่าง ทดลองสร้างและกาหนดให้ตวั แปรเหล่านี้ เป็ นตัว แปรสาหรับเก็บข้อมูล
หลายประเภท ได้แก่ Integer, Double, String, Logical เป็ นต้น เมื่อทาการใส่ค่าข้อมูลให้กบั ตัวแปร
แล้ว (ใช้คาสังบน
่ Command window) โปรแกรม MATLAB จะดาเนินการกาหนดประเภท/ชนิดข้อมูล
และใส่ค่าให้กบั ตัวแปร และเก็บไว้ในหน่ วยความจาให้โดยอัตโนมัติ โดยแสดงผลลัพธ์บนหน้าต่าง
Workspace แสดงดังรูปที่ 2.12

รูปที่ 2.12 กาหนดตัวแปรชนิดต่างๆ บน Command window

เริม่ ต้นใช้งานโปรแกรม MATLAB IDE


บทที่ 2 (Getting Started with MATLAB IDE)
MATLAB IDE Programming หน้า 2–9

จากการทดลองและผลการทดลองดังรูปที่ 2.12 พบว่า MATLAB จะกาหนดชนิดของข้อมูล


(Class) ให้กบั ตัวแปร ตามประเภทของตัวแปรโดยอัตโนมัติ มีเพียงข้อมูลชนิด Integer ที่กาหนด
ให้กบั ตัวแปร a=4 เท่านัน้ ที่ MATLAB จะกาหนดให้เป็ นชนิด Double โดยอัตโนมัติ ถ้าผู้ใช้งาน
ต้องการกาหนด Integer class ให้กบั ตัวแปร a สามารถกากับด้วยคาสัง่ “int8, int16, int32” ตัวแปร a
จะถูกกาหนดให้เป็ นข้อมูลประเภท Integer แสดงดังรูปที่ 2.13

รูปที่ 2.13 กาหนดตัวแปร a เป็ นข้อมูลชนิด Integer

เมื่อกาหนดค่าตัวแปร a เป็ นข้อมูลชนิด Integer แล้ว ทดลองคานวณผลคูณตัวแปร a ด้วย


ตัวเลขแบบทศนิยม (Double) และใส่คาตอบไว้กบั ตัวแปร a (Integer) จะพบว่า ถึงแม้คาตอบจะเป็ น
ข้อมูลตัวเลขแบบ Double ก็ตามแต่ผลลัพธ์ทไ่ี ด้ยงั คงเป็ นตัวเลขแบบ Integer ดังรูปที่ 2.14

รูปที่ 2.14 ผลลัพธ์การคานวณด้วยข้อมูลชนิด Double

เมื่อทดลองคานวณตัวเลขทีเ่ ป็ น Double กับตัวแปรประเภท Double แล้วใส่คาตอบไว้กบั


ตัวแปร a โปรแกรม MATLAB จะทาการเปลีย่ นคาตอบ a ให้เป็ นข้อมูลชนิด Double โดยอัตโนมัติ
แสดงผลลัพธ์ดงั รูปที่ 2.15

เริม่ ต้นใช้งานโปรแกรม MATLAB IDE


(Getting Started with MATLAB IDE) บทที่ 2
หน้า 2–10 MATLAB IDE Programming

รูปที่ 2.15 ผลลัพธ์ทไ่ี ด้จากการคูณข้อมูลแบบ Double

รูปแบบการกาหนดคุณสมบัต/ิ ค่าข้อมูลให้กบั ตัวแปรภาษา MATLAB


<variable name>=<expression>

กำหนดชื่อตัวแปร
ชื่อของตัวแปร <Variable names> MATLAB อนุ ญาตให้ใช้ช่อื ตัวแรกต้องเป็ นตัวอักษร
(ภาษาอังกฤษ) ห้ามใช้ตวั เลขเป็ นตัวแรก จากนัน้ จะใช้อกั ษรหรือตัวเลขก็ได้ ไม่อนุญาตให้ใช้อกั ขระ
พิเศษใดๆ แต่ใช้เครื่องหมายขีดล่างได้ ( _ , Underscores) อีกอย่างหนึ่งชื่อตัวแปรจะประกาศชื่อ
ยาวๆ ได้ แต่ขอให้มคี วามเหมาะสมและถูกต้อง ถ้ายาวมากเกินจาเป็ นอาจเกิดความผิดพลาดได้
เมื่อเราเขียนโค้ดและนาไปใช้งานจริง ตัวอย่างการกาหนดชื่อให้กบั ตัวแปรแสดงดังตารางที่ 2.1

ตารางที่ 2.1 ตัวอย่างการประกาศตัวแปร


1 xinit ถูกต้อง
2 VRightInitial ถูกต้อง
3 4You2do ไม่ถูกต้อง
4 Start-up ไม่ถูกต้อง
5 vector%1 ไม่ถูกต้อง
6 TargetOne ถูกต้อง
7 AVeryVeryLongVariableName ถูกต้อง
8 AVeryVeryLongVariablename ถูกต้อง แต่อาจจะสับสนกับตัวแปรที่ 7 …Name
9 X_init ถูกต้อง
10 Start_up ถูกต้อง
11 _vectors ไม่ถูกต้อง

เริม่ ต้นใช้งานโปรแกรม MATLAB IDE


บทที่ 2 (Getting Started with MATLAB IDE)
MATLAB IDE Programming หน้า 2–11

ตัวแปรในเวิร์กสเปซ
ตัวแปรทัง้ หมดทีเ่ รากาหนดขึ้นนัน้ โปรแกรม MATLAB จะจัดการเก็บไว้ทห่ี น่วยความจา
ของคอมพิวเตอร์โดยอัตโนมัติ และแสดงให้เห็นอยู่ทห่ี น้าต่าง Workspace เมื่อผูใ้ ช้งานปิ ดโปรแกรม
MATLAB หรือเคลียร์เซสชันด้วยคาสัง่ “clear” บน Command window แล้ว ตัวแปรต่างๆ ในหน้าต่าง
Workspace จะถูกลบหายไป
แต่ว่าโปรแกรม MATLAB ได้ออกแบบให้ผู้ใช้งานสามารถบันทึกไฟล์ตวั แปรต่างๆ แล้ว
โหลดกับ มาใช้ง านได้ ใ นภายหลัง หลัง จากที่ไ ด้ปิ ด โปรแปรมไปแล้ว นี้ เ ป็ น จุ ด เด่ น ข้อ หนึ่ ง ของ
โปรแกรม MATLAB ยังมีคาสังที ่ ่จาเป็ นที่จะต้องจดจาและเรียนรู้ ซึ่งจะเกี่ยวข้องกับตัวแปรและใช้
จัดการตัวแปรต่างๆ ในหน้าต่าง Workspace ดังนี้

ตารางที่ 2.2 คาสังที


่ เ่ กีย่ วข้องกับตัวแปรในหน้าต่าง Workspace
1 clear a b c ลบตัวแปร a b c ออกจากหน้าต่าง Workspace
2 clear ลบตัวแปรทัง้ หมดออกจากหน้าต่าง Workspace
3 who แสดงชื่อตัวแปรทัง้ หมด
4 whos แสดงชื่อและรายละเอียดของตัวแปรทัง้ หมด
5 who a แสดงเฉพาะชื่อตัวแปร a
6 whos a แสดงชื่อและรายละเอียดของตัวแปร a
7 save บันทึกตัวแปรทัง้ หมดใน Workspace ลงในไฟล์ matlab.mat
8 save varall บันทึกตัวแปรทัง้ หมดใน Workspace ลงในไฟล์ varall.mat
9 Load โหลดตัวแปรจากไฟล์ matlab.mat เก็บไว้บน Workspace
10 load varall โหลดตัวแปรจากไฟล์ varall.mat เก็บไว้บน Workspace

ตัวอย่างการใช้คาสังต่
่ างๆ เกี่ยวกับตัวแปรบนหน้าต่าง Workspace แสดงดังรูปที่ 2.16
จะเป็ นการเรียกใช้งานคาสัง่ เกี่ยวกับ whos, who, clear ส่วนคาสังอื ่ ่นๆ ตามตารางที่ 2.2 ผูใ้ ช้งาน
สามารถสร้างตัวแปรขึน้ มาแล้วทดลองใช้คาสังและดู
่ ผลลัพธ์ทเ่ี กิดขึน้ ด้วยตัวของท่านเอง

เริม่ ต้นใช้งานโปรแกรม MATLAB IDE


(Getting Started with MATLAB IDE) บทที่ 2
หน้า 2–12 MATLAB IDE Programming

รูปที่ 2.16 คาสังการจั


่ ดการตัวแปรและผลลัพธ์

2.4 เลขจำนวนและฟังก์ชัน
เลขจานวนในโปรแกรมภาษา MATLAB จะกาหนดค่าเริม่ ต้นเป็ นประเภท Double ให้โดย
อัตโนมัติ ไม่ว่าผูใ้ ช้งานจะกาหนด/สร้างค่าตัวเลขให้กบั ตัวแปรใดๆ หรือคานวณทางคณิตศาสตร์ใดๆ
ระหว่างตัวแปรด้วยกันก็ตาม แสดงผลลัพธ์ดงั รูปที่ 2.17

รูปที่ 2.17 เลขจานวนแบบ Double ทีโ่ ปรแกรม MATLAB กาหนดขึน้

แต่เนื่องด้วยการแสดงผลของจานวนตัวเลขที่ยาวมาก (ดังรูปที่ 2.17, ทีค่ ่าตัวเลขเท่ากับ


3.8785e+08) โปรแกรม MATLAB จะก าหนดการแสดงผลด้า นตัว เลขจ ากัด อยู่ ท่ี 13 หลัก เช่น
ค่า pi = 3.141592653589793 และ ตัวเลขจานวนเชิงซ้อน (Complex numbers, a + jb) เป็ นต้น ซึ่ง
ผูใ้ ช้งานจะต้องเรียนรูแ้ ละทาความเข้าใจเกี่ยวกับตัวเลขและการแสดงผลเหล่านี้ จะได้เข้าใจตรงกัน

เริม่ ต้นใช้งานโปรแกรม MATLAB IDE


บทที่ 2 (Getting Started with MATLAB IDE)
MATLAB IDE Programming หน้า 2–13

กับ การแสดงผลด้า นข้อ มู ล ตัว เลขของโปรแกรม MATLAB ยกตัว อย่ า ง เช่ น ตัว เลขจ านวน
3.141592653589793 x 1018 เมื่อผูใ้ ช้งานนาตัวเลขไปเขียนคาสัง่ โดยจะป้ อนบน Command window
จะสามารถเขียนได้ คือ 3.141592653589793e18 หรือ 3.141592653589793 x 10^18 (เครื่องหมาย
^ คือ ตัว เลขยกก าลัง ) ซึ่ง ให้ผ ลลัพ ธ์เ ท่ากัน โปรแกรม MATLAB จะแสดงผลลัพ ธ์ บ นหน้ า ต่ า ง
Command window ด้วยค่า 3.1416e+18 แสดงดังรูปที่ 2.18

รูปที่ 2.18 ผลลัพธ์การคานวณตัวเลขและการแสดงผล

ถ้าเลขชีก้ าลังติดลบ เช่น -3.141592653589793 x 10-18 สามารถเขียนเป็ นคาสังได้


่ ดงั นี้
-3.141592653589793e-18 หรือ -3.141592653589793x10^-18 แสดงดังรูปที่ 2.19

รูปที่ 2.19 ผลลัพธ์การคานวณตัวเลขและการแสดงผล

ส่ ว นตัว เลขจ านวนเชิ ง ซ้ อ น ( Complex numbers, a+jb ) เป็ น จ านวนตัว เลขหนึ่ ง ที่
โปรแกรม MATLAB ออกแบบให้ผู้ใช้สามารถคานวณหาผลลัพธ์ ได้ ไม่ว่าจะเป็ นการบวก -การลบ
การคูณ-การหาร แม้กระทังการหาผลลั
่ พธ์ของสมการจานวนเชิงซ้อน เป็ นต้น

เริม่ ต้นใช้งานโปรแกรม MATLAB IDE


(Getting Started with MATLAB IDE) บทที่ 2
หน้า 2–14 MATLAB IDE Programming

MATLAB มีรปู แบบการเขียนคาสัง่ โดยกาหนดให้จานวนจิตภาพ แทนด้วย “i” ดังนี้

ตารางที่ 2.3 รูปแบบคาสังจ


่ านวนเชิงซ้อน
จานวนเชิ งซ้อน รูปแบบคาสัง่ MATLAB
2.5 + j3.14 2.5 + 3.14i
-2.5 - j3.14 -2.5 - 3.14i

ทดลองเขียนค าสังการค
่ านวณทางคณิต ศาสตร์ข องจ านวนเชิง ซ้อ น ได้แก่ การบวก
การลบ การคูณ การหาร และหาผลลัพธ์สมการทีอ่ ยู่ในรูปจานวนเชิงซ้อน แสดงดังรูปที่ 2.20 – 2.21

รูปที่ 2.20 ผลลัพธ์การคานวณจานวนเชิงซ้อน

ทดลองแก้สมการพหุนาม (Polynomial equation) เพือ่ หาคาตอบค่า x ทีเ่ ป็ นไปได้ทงั ้ หมด


ของสมการ x 2 + 8 x + 16 = 0 ซึง่ คาตอบนัน้ จะอยู่ในรูปจานวนเชิงซ้อน โดยใช้คาสังของ
่ MATLAB

MATLAB มีฟั ง ก์ ช ัน ส าหรับ การหาค าตอบสมการพหุ น าม คือ “roots(p)” โดย p คือ


สัมประสิทธิของตั
์ วแปร x ทุกๆ เลขชี้กาลัง รวมทัง้ สัมประสิทธิของ
์ x 0 ด้วย นิยามได้ดงั สมการที่
(2.0)

p1 x n + ... + pn x + pn +1 = 0 (2.0)

เริม่ ต้นใช้งานโปรแกรม MATLAB IDE


บทที่ 2 (Getting Started with MATLAB IDE)
MATLAB IDE Programming หน้า 2–15

ดังนัน้ พารามิเตอร์ p จะเป็ นการนาตัวเลขสัมประสิทธิมาเขี ์ ยนเรียงกันให้อยู่ในรูปแบบ


เวกเตอร์ [ p1 ,... pn , pn+1 ] จะเขียนคาสังด้
่ วย MATLAB ได้ว่า p = [1, 8, 16] ผลการทดลองหาคาตอบ
สมการพหุนาม และการพิสจู น์คาตอบ แสดงดังรูปที่ 2.21

รูปที่ 2.21 การหาคาตอบสมการพหุนาม

เมื่อ x 2 + 1 = 0 ค าตอบของ x จะได้ค าตอบในรูปจานวนเชิงซ้อ น โดยที่ p = [1, 0, 1]


ผลลัพธ์การคานวณและการตรวจคาตอบแสดงดังรูปที่ 2.22

รูปที่ 2.22 การหาคาตอบสมการพหุนาม และคาตอบในรูปจานวนเชิงซ้อน

อีกอย่างหนึ่งทีจ่ ะต้องเรียนรูแ้ ละทาความเข้าใจให้ตรงกันในการใช้งานเกี่ยวตัวกระทาทาง


คณิตศาสตร์ (Mathematical Operators) โดยใช้ภาษา MATLAB ซึ่งโปรแกรม MATLAB จะกาหนด
มาตรฐานสัญลักษณ์ เกี่ยวกับตัวกระทาทางคณิตศาสตร์ข้นึ โดยเฉพาะไม่แตกต่างจากภาษาอื่นๆ
มากนัก มีแตกต่างบ้างบางสัญลักษณ์ ในส่วนนี้จะนาเสนอสัญลักษณ์และฟั งก์ชนั สาหรับใช้งานที่
จาเป็ นๆ พอสังเขป ส่วนนอกนี้ หากผูใ้ ช้งานต้องการใช้งานมากกว่านี้ สามารถศึกษาได้จาก Help
หรือ Documentation ของโปรแกรม MATLAB ได้

เริม่ ต้นใช้งานโปรแกรม MATLAB IDE


(Getting Started with MATLAB IDE) บทที่ 2
หน้า 2–16 MATLAB IDE Programming

ตารางที่ 2.4 เครื่องหมาย/สัญลักษณ์ตวั กระทาและฟั งก์ชนั ทางคณิตศาสตร์


ลาดับ เครื่องหมาย/สัญลักษณ์/ ความหมาย
ฟังก์ชนั
1 + การบวก
2 - การลบ
3 * การคูณ
4 / การหาร
5 ^ เลขยกกาลัง เช่น 3.14^8 คือ 3.148
6 sin(x) คานวณค่า sin ทีม ่ ุม x
7 sind(x) คานวณหามุมองศา sin
8 cos(x) คานวณค่า cos ทีม ่ ุม x
9 cosd(x) คานวณหามุมองศา cos
10 tan(x) คานวณค่า tan ทีม ่ ุม x
11 tand(x) คานวณหามุมองศา tan
12 atan(x) อินเวอร์ส tan (tan-1) ทีม ่ ุม x
13 atand(x) คานวณหามุมองศาอินเวอร์ส tan (tan-1)
14 acos(x) อินเวอร์ส cos (cos-1) ทีม ่ ุม x
15 acosd(x) คานวณหามุมองศาอินเวอร์ส cos (cos-1)
16 asin(x) อินเวอร์ส sin (sin-1) ทีม ่ ุม x
17 asind(x) คานวณหามุมองศาอินเวอร์ส sin (sin-1)
18 exp(x) คานวณ e x
19 log(x) คานวณ ln(x), natural logarithm
20 log10(x) คานวณ log10(x)
21 sqrt(x) คานวณ x
22 abs(x) คานวณ absolute(x)
23 sign(x) คานวณเครื่องหมาย +,- คืนค่าเป็ น 1, -1
24 rand สุม่ ค่าตัวเลขทศนิยมให้ตงั ้ แต่ 0 - 1
25 round(x) ปั ดเลขทศนิยมขึน ้ เป็ นเลขจานวนเต็ม
26 floor(x) ปั ดเลขทศนิยมลงเป็ นเลขจานวนเต็ม

เริม่ ต้นใช้งานโปรแกรม MATLAB IDE


บทที่ 2 (Getting Started with MATLAB IDE)
MATLAB IDE Programming หน้า 2–17

หมายเหตุ
มาตรฐานสัญลักษณ์ตวั กระทาทางคณิตศาสตร์ รวมทัง้ ฟั งก์ชนั อื่นๆ ผู้ใช้งานสามารถ
ศึกษาได้จาก Help หรือ Documentation ของโปรแกรม MATLAB ได้ โดยคลิกเลือกแท็บ HOME
และคลิกเลือกไอคอนคอนโทรล Help แสดงดังรูปที่ 2.23

คลิกเลือก

รูปที่ 2.23 เนื้อหาและรายละเอียดอื่นๆ เกีย่ วกับโปรแกรมสามารถเรียนรูเ้ พิม่ เติมได้จาก Help

เริม่ ต้นใช้งานโปรแกรม MATLAB IDE


(Getting Started with MATLAB IDE) บทที่ 2
หน้า 2–18 MATLAB IDE Programming

2.5 การเขียนโค้ดและภาษาสคริปต์
จากหัวข้อทีผ่ ่านๆ มา ได้นาเสนอและแสดงตัวอย่างการใช้งานคาสังเกี ่ ่ยวกับการคานวณ
ทางคณิตศาสตร์ไปบ้างแล้ว ถ้าต้องการเขียนคาสังเพื ่ ่อแก้ไขปั ญหาคณิตศาสตร์จะต้องดาเนินการ
อย่างไรบ้าง เขียนคาสังอะไร ่ รันคาสังที ่ ไ่ หน เห็นผลลัพธ์เป็ นอย่างไร ส่วนหัวข้อนี้ จะนาเสนอการ
เขียนโค้ดทีจ่ ะทาให้ผใู้ ช้งานได้มองเห็นประโยชน์ และสมรรถนะของโปรแกรม MATLAB มากขึน้ กว่า
ทีเ่ ห็นว่าเป็ นได้มากกว่าเครื่องคิดเลขขนาดใหญ่แค่นนั ้
อี ก อย่ า งหนึ่ ง หัว ข้ อ นี้ จ ะน าเสนอการเขีย นโค้ ด หรือ การใช้ ภ าษาสคริ ป ต์ เ พื่ อ ให้
คอมพิวเตอร์แก้ไขปั ญหาหรือคานวณโจทย์ทม่ี ลี กั ษณะคล้ายๆ กัน เพียงแต่เปลีย่ นแค่ขอ้ มูลอินพุท
นาเข้า หรือถ้าหากผูใ้ ช้งานต้องการคานวณซ้าๆ หลายรอบ การเขียนโค้ดและรันด้วยไฟล์สคริปต์จะ
เป็ นแนวทางหนึ่ง ที่เ หมาะสม ทาให้ส ะดวก และประหยัดเวลากว่ า การที่จ ะต้อ งมาคีย์ค าสัง่ บน
Command window ซ้าๆ
ยกตัวอย่าง โจทย์ทางวิทยาศาสตร์ ที่หลายท่านอาจจะคุ้นเคยตอนสมัยเรียนมัธยมต้น
การคานวณค่าอุณหภูมเิ มื่อเปลีย่ นหน่วยอุณหภูมริ ะหว่างองศาฟาเรนไฮต์ (Fahrenheit: F) กับองศา
องศาเซลเซียส (Celsius: C) โดยจะต้องมีตวั แปรหรือค่าทีจ่ ะต้องกาหนด แสดงดังสมการข้างล่าง

9
แปลงองศา C เป็ นองศา F F = C + 32 (2.1)
5
5
แปลงองศา F เป็ นองศา C C = ( F − 32) (2.2)
9

รูปแบบการเขียนโค้ด แบบเบสิกๆ และง่ายที่สุดของโปรแกรม MATLAB คือ เขียนด้วย


ภาษาสคริปต์ (MATLAB script, .m extension) โดยทีจ่ ะต้องเขียนคาสัง/โค้
่ ดเรียงต่อๆ กันเป็ นลาดับ
ทีละบรรทัด ด้วยโปรแกรม “MATLAB Editor” (แนะนาไปบ้างแล้วในหัวข้อ 2.1)

ส่วนการเรียกใช้งาน MATLAB Editor สามารถทาได้ 2 วิธี ดังนี้ คือ


 คลิกไอคอนคอนโทรล “New Script” บนหน้าต่าง MATLAB Desktop (IDE) หรือ
 พิมพ์คาสัง่ “editor” หลังเครื่องหมายพรอมต์ บนหน้าต่าง Command window ดังรูปที่ 2.24

คลิกไอคอน

เริม่ ต้นใช้งานโปรแกรม MATLAB IDE


บทที่ 2 (Getting Started with MATLAB IDE)
MATLAB IDE Programming หน้า 2–19

พิมพ์คำสั่ง
รูปที่ 2.24 การเรียกใช้งานโปรแกรม Editor สาหรับการเขียนโค้ด

ทาการเขียนโค้ด/คาสัง่ ดังตารางที่ 2.5 โดยใช้โปรแกรม MATLAB Editor

ตารางที่ 2.5 ไฟล์สคริปต์ CFConversion.m


clear; %clear all variables
clc; %clear screen Command window

%Computing for temporature transformation, C and F


%Author: suWits Mohrarsii

%defind parameter Input for C to F temperature conversion


c=27; % C input
f=((9/5)*c)+32; % Compute
disp('compute for temperature conversion, C to F degree.');
disp(['(C) Input: ',num2str(c),' = ', num2str(f),' F.']);

%defind parameter Input for F to C temperature conversion


f=188; % F input
c=(5/9)*(f-32); % Compute
disp('compute for temperature conversion, F to C degree.');
disp(['(F) Input: ',num2str(f),' = ', num2str(c),' C.']);

เขีย นโค้ด แล้ว ท าการบัน ทึก ไฟล์ส คริป ต์ ช่ือ “CFConversion.m” โดยคลิก ที่ ไ อคอน
คอนโทรล Save และเลือกเมนู Save จะปรากฏหน้าต่าง หรือ dialog box “Select File for Save As”
ทาการเลือกโฟลเดอร์บนั ทึกไฟล์ และตัง้ ชื่อไฟล์ เสร็จแล้วคลิกปุ่ม “Save” ดังรูปที่ 2.26

ข้อสังเกต
หน้าต่างหรือ dialog box “Select File for Save As” สาหรับบันทึกไฟล์งาน ถ้าผู้ใช้งาน
บันทึกไฟล์ลงบนโฟลเดอร์ “C:\Program Files\MATLAB\R2018b\bin” MATLAB จะไม่อนุญาตให้
บันทึกข้อมูลใดๆ ลงในโฟลเดอร์หรือไดเรกทรอรีน้ี เนื่องจากเป็ นโฟลเดอร์ระบบสาหรับ การทางาน
ของ MATLAB เท่านัน้ เมื่อจะรันโค้ดหรือจะบันทึกไฟล์งานใดๆ ให้ผู้ใช้งานเปลี่ยนแปลงโฟลเดอร์
ปั จจุบัน เป็ นโฟลเดอร์ส าหรับรันโปรแกรมที่ส ร้างขึ้นโดยเฉพาะ หากผู้ใ ช้งานไม่เ ปลี่ยนแปลง
ไดเรกทรอรี โปรแกรม MATLAB จะแสดงหน้าต่างแจ้ง เตือนการเขียน/อ่านไฟล์บนโฟลเดอร์ระบบ
ของ MATLAB ดังรูป 2.25
เริม่ ต้นใช้งานโปรแกรม MATLAB IDE
(Getting Started with MATLAB IDE) บทที่ 2
หน้า 2–20 MATLAB IDE Programming

โฟลเดอร์ระบบของโปรแกรม

รูปที่ 2.25 dialog box “Select File for Save As” การบันทึกไฟล์งานลงโฟลเดอร์ระบบของ MATLAB

คลิกไอคอน

คลิกเลือก

เริม่ ต้นใช้งานโปรแกรม MATLAB IDE


บทที่ 2 (Getting Started with MATLAB IDE)
MATLAB IDE Programming หน้า 2–21

เส้นทางโฟลเดอร์ใหม่

พิมพ์ชื่อไฟล์
คลิกปุ่ม
รูปที่ 2.26 บันทึกไฟล์งาน

รันโค้ดไฟล์สคริปต์
เมื่อบันทึกไฟล์โค้ด โปรแกรมแล้ว ทาการทดสอบการรันไฟล์สคริปต์ โดยคลิกที่ไอคอน
คอนโทรล “Run” (สีเขียว) บนโปรแกรม Editor แสดงดังรูปที่ 2.27 หรือกดคียด์ ่วน F5

คลิกไอคอน

รูปที่ 2.27 ไอคอนรันไฟล์สคริปต์

ส าหรับ การเริ่ม ต้น ทดสอบโปรแกรมครัง้ แรก ที่ห น้ า ต่ า ง “Current Folder” จะแสดง


รายละเอียดเป็ นโฟลเดอร์ระบบของ MATLAB เป็ นค่ าเริ่มต้น ถ้าผู้ใ ช้งานรันโค้ดบนโฟลเดอร์น้ี
MATLAB จะมีหน้าต่างแนะนาการเปลี่ยนไดเรกทรอรีสาหรับการรับไฟล์สคริปต์ ให้คลิ กเลือกปุ่ ม

เริม่ ต้นใช้งานโปรแกรม MATLAB IDE


(Getting Started with MATLAB IDE) บทที่ 2
หน้า 2–22 MATLAB IDE Programming

“Change Folder” ดังรูปที่ 2.28 ต่อจากนัน้ MATLAB จะเปลีย่ น Current Folder ไปเป็ นโฟลเดอร์ท่ี
บันทึกไฟล์งานทันที (สามารถสังเกตได้ทห่ี น้าโปรแกรม MATLAB IDE)
ต่อจากนัน้ โค้ดที่เขียนขึ้นจะถูก ประมวลผล และแสดงผลลัพธ์บนหน้าต่าง Command
window แสดงดังรูปที่ 2.8

คลิกปุ่ม

รูปที่ 2.28 ผลลัพธ์การรับไฟล์สคริปต์

โครงสร้างของการเขียนโค้ด/ไฟล์สคริปต์
การเขียนโค้ด/ไฟล์สคริ ปต์ที่ดี ควรจะมีรายละเอียดหรือโครงสร้างที่ประกอบด้วย
ส่วนต่างๆ ที่มีและแสดงสาระสาคัญๆ ซึ่งผูใ้ ช้งานควรทีจ่ ะเรียนรูแ้ ละทาความเข้าใจ เพราะว่ามี
ประโยชน์อย่างมากเมื่อต้องการนามาพัฒนาหรือแก้ไขในคราวต่อไป โครงสร้างของการเขียนโค้ด
ดังกล่าวควรประกอบด้วยสาระสาคัญ (แสดงดังรูปที่ 2.29) ดังนี้

เริม่ ต้นใช้งานโปรแกรม MATLAB IDE


บทที่ 2 (Getting Started with MATLAB IDE)
MATLAB IDE Programming หน้า 2–23

ส่วนหัวโปรแกรม (Head block)


จะแสดงรายละเอียด/คาอธิบายเกี่ยวกับโปรแกรมว่าใช้ทาอะไร ใครเขียนโค้ด วันทีเ่ ขียน
และชื่อไฟล์โปรแกรม/ไฟล์สคริปต์ เป็ นข้อดีเผื่อไว้เรียกความจาและป้ อวกันการหลงลืม เมื่อนานๆ
ไปโหลดโค้ดเก่ ากับมาแก้ไ ขจะได้ทราบว่าโปรแกรมใช้ท าหน้ าที่อ ะไร ใครเป็ นคนเขียน เมื่อ ไร
อย่างไรบ้าง เป็ นต้น ส่วนนี้จะใช้เครื่องหมาย % ไว้หน้าข้อความ ซึ่งโปรแกรม MATLAB จะไม่นา
ข้อ ความเหล่ านี้ มาประมวลผลใดๆ ถือ ว่า ข้อ ความหลังเครื่อ งหมายเป็ นส่ว นแสดงรายละเอียด/
อธิบายเนื้อหาด้วยข้อความ (Comment text)

Head block

Initial block

Parameter input block

Main calculation block

Displays result block

รูปที่ 2.29 โครงสร้างการเขียนโค้ด/ไฟล์สคริปต์

ส่วนเริ่มต้นโปรแกรม (Initial block)


มีไว้สาหรับการกาหนดค่าเริม่ ต้นต่างๆ เช่น การกาหนดค่าตัวแปรเริม่ ต้น การตรวจสอบ
ความพร้อมอื่นๆ ก่อนรันโค้ด ในตัวอย่างดังรูปที่ 2.29 จะเป็ นการเรียกใช้คาสังส
่ าหรับการเคลียร์
ตัวแปร และเคลียร์หน้าจอ/ข้อความบนหน้าต่าง Command window

ส่วนกำหนดพารามิเตอร์อินพุท (Parameter input block)


เมื่อผ่านบล็อกสาหรับกาหนดค่าเริม่ ต้นแล้ว บล็อกนี้จะใช้สาหรับการกาหนดค่าให้กับ
ตัวแปรที่เป็ นข้อ มูล ส าหรับอินพุท ที่จะนาไปประมวลผลหรือ การค านวณ ถ้ามีการเปลี่ยนข้อ มูล
ตัวแปรนาเข้า ผูใ้ ช้งาน/ผูพ้ ฒ
ั นาโค้ดจะทาได้สะดวก และง่ายต่อการแก้ไข

เริม่ ต้นใช้งานโปรแกรม MATLAB IDE


(Getting Started with MATLAB IDE) บทที่ 2
หน้า 2–24 MATLAB IDE Programming

ส่วนการคำนวณ/ประมวลผล (Main calculation block)


ส่วนนี้จะเป็ นพืน้ ทีส่ าหรับโค้ดของการคานวณหรือการประมวลผล ซึ่งจะนาตัวแปรต่างๆ
ที่ประกาศและกาหนดไว้ในบล็อกก่อนหน้านี้มาคานวณ ถ้าหากมีการเปลี่ยนแปลง/ปรับปรุงสูตร
คานวณ/สมการ หรือ Solution ผูใ้ ช้งานจะสามารถเขียนโค้ดใหม่ หรือแก้ไข ปรับปรุงโค้ด ได้สะดวก
มากขึ้น และเป็ นการป้ องกันโปรแกรมเกิดข้อผิดพลาดขึ้น ได้จากการที่เราได้ทาการแก้ไขปรับปรุง
โค้ดทีม่ จี านวนคาสังหลายๆ
่ บรรทัด

ส่วนการแสดงผล (Displays result block)


จะเป็ นส่วนแสดงผลลัพธ์การคานวณ หรือรายละเอียดอื่นๆ ทีผ่ เู้ ขียนโค้ดต้องการจะแสดง
หรืออธิบายออกทางหน้าจอคอมพิวเตอร์ บนหน้าต่างใดๆ ได้แก่ Command window หรือ Figure

ข้อสังเกต
การแบ่งโครงสร้างของโค้ด หรือไฟล์สคริปต์ออกเป็ นส่วนๆ ดังที่กล่าวแล้วข้างต้น นัน้
จะสังเกตเห็นเครื่องหมาย %%... จะเป็ นตัวบ่งบอกบล็อกของส่วนต่างๆ ถ้าหากเป็ นคาอธิบายหรือ
Comment อื่นๆ จะใช้เครื่องหมาย % เพียงเครื่องหมายเดียว แสดงดังรูปที่ 2.29
บรรทัด ว่าง ส าหรับ ตัว แปรภาษาของ MATLAB ( Interpreter ) จะยกเว้น หรือ ข้ามไป
ผูเ้ ขียนโค้ดสามารถสร้างบรรทัดว่างได้หลายๆ บรรทัดเพื่อแบ่งช่วงแต่ละบล็อกออกเป็ นส่วนๆ และ
ทาให้การมองเห็นโค้ด สังเกตได้งา่ ย ชัดเจน เด่นชัดขึน้ ได้
คาสัง่ disp(…) เป็ นคาสังพิ
่ มพ์ผลลัพธ์หรือแสดงผลออกทางหน้าต่าง Command window
สามารถพิมพ์ค่าข้อมูลประเภทตัวเลข (Double, Integer) และข้อความ (String, Char) ได้ในบรรทัด
เดียวกัน เพียงแต่ตอ้ งคันข้
่ อมูล/ตัวแปรแต่ละตัวด้วยเครื่องหมายคอมม่า (,) ดังตัวอย่างด้านล่าง

disp(['<text>',num2str(<variablename>)]);

เมื่อ <text> คือข้อความ และ <variablename> คือ ตัวแปรประเภท Double, Integer

เริม่ ต้นใช้งานโปรแกรม MATLAB IDE


บทที่ 2 (Getting Started with MATLAB IDE)
MATLAB IDE Programming หน้า 2–25

2.6 ข้อผิดพลาดและการตรวจสอบโปรแกรม
ข้อผิดพลาด และข้อบกพร่องเป็ นเรื่องปกติทอ่ี าจจะเกิดขึน้ เมื่อต้องทดสอบโปรแกรมหรือ
นาโปรแกรมไปใช้งานจริง เป็ นธรรมชาติของโปรแกรมที่จะต้องแจ้งเตือ นหรือแสดงข้อความให้
ผู้ออกแบบหรือผู้สร้างโปรแกรมทราบว่ามีสงิ่ ไม่ปกติเกิดขึ้น ซึ่งอาจส่งผลลัพธ์ท่ขี ดั แย้งเชิงตรรกะ
ความถูกต้องแม่นยาของโปรแกรม เพื่อให้ผเู้ ขียนโค้ดได้รแู้ ละแก้ไขให้มคี วามถูกต้อง สมบูรณ์ทส่ี ุด
ฉะนัน้ ไม่ต้องไปแปลกใจอะไรๆ กับข้อผิดพลาดที่อาจจะเกิดขึ้นกับโปรแกรมของเรา ผมเองคิดว่า
“สิ บขายังรู้พลาด นักปราชญ์ยงั รู้พลัง้ ” กิ้งกือมีขาเป็ นร้อยยังเดินตกบ่อตกท่อได้ นับประสาอะไร
กับคนสองขา จะไม่พลาดกันบ้าง

แจ้งเตือนข้อผิดพลาด
ผูพ้ ฒั นาโปรแกรม/ผูเ้ ขียนโค้ดต้องทาความเข้าใจให้ตรงกันก่อนว่า การได้มาซึ่งโปรแกรม
ดีๆ หรือ โค้ด ดีๆ มาใช้ง านนั น้ ได้ม าจากกระบวนการเขีย นโปรแกรม บ่ อ ยๆ หรือ ได้ม าจาก
ประสบการณ์ทงั ้ สิน้ เมื่อมีขอ้ ผิดพลาดเกิดขึน้ แล้วได้ทาการแก้ไขข้อผิดพลาดนัน้ ตรวจสอบซ้าแล้ว
ซ้าอีก ในทีส่ ุดจึงได้โปรแกรมทีท่ างานได้ถูกต้อง
โปรแกรม MATLAB จะมีระบบตรวจสอบข้อผิดพลาดมาให้พร้อม เพื่อแจ้งเตือนให้ผเู้ ขียน
โค้ดทราบเกี่ยวกับการตัง้ ชื่อตัวแปร การใช้เครื่องหมายทางคณิตศาสตร์ การใช้งานฟั งก์ชนั และการ
ระบุพ ารามิเ ตอร์ท่ีไ ม่เ หมาะสม เป็ นต้น ทาให้ง่าย สะดวกต่อ การแก้ไขโค้ดให้ถู กต้อ งตามหลัก
ไวยากรณ์ (MATLAB syntax) ทัง้ 2 หน้าต่าง คือ เขียนโค้ดบน Command window และเขียนโค้ดบน
MATLAB Editor แสดงดังรูปที่ 2.30

ข้อความแจ้งเตือนการผิดพลาด

เริม่ ต้นใช้งานโปรแกรม MATLAB IDE


(Getting Started with MATLAB IDE) บทที่ 2
หน้า 2–26 MATLAB IDE Programming

สัญลักษณ์แจ้งเตือนการผิดพลาด

รูปที่ 2.30 การตรวจสอบและแจ้งเตือนข้อผิดพลาดของ MATLAB

ถ้าหากผู้ใช้งานรันโค้ดไฟล์สคริปต์ (.m-file) ที่ไม่ถูกหลักไวยากรณ์ MATLAB จะแจ้ง/


รายงานข้อผิดพลาดว่า บรรทัดไหนมีสงิ่ ผิดปกติเกิดขึ้นบ้าง และมีคาแนะนาให้ต้องแก้ไขอย่างไร
แสดงข้อความบนหน้าต่าง Command window ตัวอย่างเมื่อพยายามรันโค้ดไฟล์สคริปต์ “test_07.m”
(โค้ดจากรูปที่ 2.30) ซึง่ โค้ดมีขอ้ ผิดพลาด แสดงดังรูปที่ 2.31

รูปที่ 2.31 รายงานข้อผิดพลาดเมื่อพยายามรันโค้ดไฟล์สคริปต์ “test_07.m”

เริม่ ต้นใช้งานโปรแกรม MATLAB IDE


บทที่ 2 (Getting Started with MATLAB IDE)
MATLAB IDE Programming หน้า 2–27

แบบแปลนของโปรแกรม
ผูเ้ ขียนมีแนวความคิดว่า การเขียนโปรแกรมก็เปรียบเหมือนการสร้างบ้าน ถ้าสร้างบ้าน
ไม่อาศัยแบบแปลนหรือโมเดล/แบบจาลองทีอ่ ยากจะสร้างให้มนั สาเร็จ บ้านหลังนัน้ อาจจะได้ไม่ตรง
ตามทีจ่ นิ ตนาการไว้ หรืออาจจะสร้างไม่เสร็จเลยก็ได้
โปรแกรมก็เช่นเดียวกัน จะต้องมีแบบแปลนซึ่งจะเป็ นเหมือนไกด์ไลน์นาทางให้เราเขียน
โค้ดเพือ่ ประมวลผล คานวณ ให้ได้ผลลัพธ์ทถ่ี ูกต้อง ตรงตามความต้องการได้
ตามหลักการแล้ว ผู้เขียนโค้ดควรที่จะต้องมีโครงร่างของโปรแกรมเสียก่อน จึงทาการ
เขียนโค้ดตามโครงร่างนัน้ โครงร่างที่ว่านี้ คือ โค้ดสัญลักษณ์ (pseudo code) หรือ ผังงานของ
โปรแกรม (Flow chart) ซึง่ จะเป็ นไกด์ไลน์ หรือแผนทีน่ าทางอย่างดีให้ผเู้ ขียนโค้ด ได้ดาเนินงานให้
สาเร็จได้อย่างรวดเร็ว ไม่เกิดความผิดพลาด และสามารถนาโค้ดมาพัฒนาต่อในภายหลังได้ง่ายขึน้
แสดงโค้ดสัญลักษณ์ และผังงานโปรแกรม ดังรูปที่ 2.32 เป็ นตัว อย่างแบบแปลนของ
โปรแกรมบวกเลข 5 จานวน แสดงให้เห็นความง่ายถึงล าดับขัน้ ตอนของบล็อกค าสังส่ ่ ว นต่ างๆ
ได้แ ก่ บล็อ กค่ าเริ่มต้น บล็อ กตัว แปรอินพุ ทที่จ ะต้อ งใช้ง าน บล็อ กการค านวณ และบล็อ กการ
แสดงผลลัพธ์ เป็ นต้น

Algorithm in simple English


1. Start
2. Initialize sum=0, count=0 (Process)
3. Enter number (Input)
4. Compute sum+number and assign it to sum,
and then increment count by 1 (Process)
5. Is count<5 (Dicision), if “Yes” go to step 3
Else (if “No”) Print sum (Output)
6. Stop

รูปที่ 2.32 แสดงโครงร่างโดยใช้ภาษาอังกฤษง่ายๆ และผังงานโปรแกรมพอสังเขป

เริม่ ต้นใช้งานโปรแกรม MATLAB IDE


(Getting Started with MATLAB IDE) บทที่ 2
หน้า 2–28 MATLAB IDE Programming

รูปที่ 2.33 โค้ดโปรแกรมบวกเลข 5 จานวน

เมื่อเราได้แบบโครงร่างหรือผังงานของโปรแกรมแล้ว จะรู้สกึ ได้ว่าจะเขียนโค้ดออกมา


รูปร่างหน้าตาออกมาแนวไหน จะมีความกระชับ กะทัดรัด ไม่ซบั ซ้อน และย่นเวลาการเขียนโค้ดได้
มากขึน้ แสดงโค้ดของโปรแกรมบวกเลข 5 จานวนได้ดงั รูปที่ 2.33 และผลลัพธ์การรันโค้ด แสดงดัง
รูปที่ 2.34

รูปที่ 2.34 ผลการรันโค้ดโปรแกรมบวกเลข 5 จานวน

เริม่ ต้นใช้งานโปรแกรม MATLAB IDE


บทที่ 2 (Getting Started with MATLAB IDE)
MATLAB IDE Programming หน้า 2–29

ข้อแนะนำ
ข้อแนะนาประการหนึ่ง จากประสบการณ์การเขียนโค้ดเพื่อไม่ให้เกิดขึ้นผิดพลาด หรือ มี
บักในภายภาคหน้า เมื่อได้โครงร่างหรือผังงานของโปรแกรมแล้ว ไม่ควรเขียนโค้ดให้เสร็จในครัง้
เดียวแล้วจึงรันโค้ด/ทดสอบโปรแกรม ควรเขียนโค้ดไปด้วยและทดสอบผลลัพธ์ไปด้วยพร้อมๆ กัน
ซึ่งเป็ นการดีบกั กิ้ง/ตรวจสอบความผิดพลาดไปในขัน้ ตอนเดียวกัน จะทาให้โปรแกรมมีขอ้ ผิดพลาด
น้อย และแก้ไขปั ญหาโค้ดได้เร็วกว่าการทีจ่ ะต้องมาแก้ไขโค้ดจานวนหลายๆ บรรทัด ตามหลักการ
พื้นฐานการเขียน/พัฒนาโปรแกรมที่ว่า “Start small and add gradually.” หรือถ้าผู้ใช้งานมีความ
คล่องตัว เชี่ยวชาญหรือ สะดวกแบบเขียนรวดเดียวจบแล้ว จึงทดสอบโค้ดก็ส ามารถทาได้ไ ม่ผ ิด
กฎหมายหรือข้อห้ามใดๆ

2.7 การใช้งาน Debugger


การตรวจสอบความผิดพลาดของโปรแกรมอีกอย่างหนึ่งนอกจากอาศัยระบบตรวจสอบ
ข้อผิดพลาดขณะเขียนโปรแกรม ยังมีตวั ดีบกั เกอร์ทใ่ี ช้ตรวจสอบการทางานของโค้ดคาสัง่ ว่าจะเกิด
อะไรขึน้ เมื่อโค้ดทางานทีล่ ะบรรทัด วิธกี ารใช้งาน Debugger ของ MATLAB จะนาโค้ดตามรูปที่ 2.33
มาเป็ นตัวอย่างการใช้งาน โดยตรวจสอบให้เห็นว่า บล็อกค่าเริม่ ต้นตัวแปร ถูกกาหนดค่าเป็ น “0”
จริงหรือไม่ ? และในบล็อกการกาหนดค่าอินพุทให้กบั ตัวแปร “number” ถูกนาไปคานวณหาผลรวม
และกาหนดไปเก็บไว้ท่ตี วั แปร “sum” ได้คาตอบถูกต้องหรือไม่ ? มีลาดับขัน้ ตอนการตรวจสอบ
ความผิดพลาด ดังนี้
1) บันทึกโค้ดเป็ นไฟล์สคริปต์ให้เรียบร้อย (นามสกุล .m)
2) เปิ ดหน้ าหน้ าต่าง “Workspace” ให้พร้อม เนื่องจากบางกรณี ผูเ้ ขียนโค้ดอาจจะต้อง
พิจารณาค่ าตัว แปรต่างๆ ที่เ กิดจากการประมวลผลคาสัง่ หรือ การค านวณเพื่อ ตรวจสอบความ
ถูกต้องของโปรแกรมไปด้วย

คลิกไอคอนคอนโทรล

คลิกเลือก

เริม่ ต้นใช้งานโปรแกรม MATLAB IDE


(Getting Started with MATLAB IDE) บทที่ 2
หน้า 2–30 MATLAB IDE Programming

จุดเริ่มต้น Break-point
รูปที่ 2.35 กาหนดจุดเริม่ ต้น Break-point

ไอคอนคอนโทรล

จุดเริ่มต้น Break-point

รูปที่ 2.36 การเริม่ ต้นใช้งานโหมด Debugger

3) วางตาแหน่ ง Breakpoints ( Stop sign ) ส าหรับบรรทัด ค าสังที


่ ่ต้อ งการตรวจสอบ
ข้อผิดพลาด กล่าวคือ การกาหนดจุดเริม่ ต้นบรรทัดแรกของการตรวจสอบโปรแกรมไปทีละบรรทัด
โดยนาเคอร์เซอร์เมาส์ไปวางไว้ทห่ี น้าคาสังบรรทั
่ ดทีเ่ ป็ นจุดเริม่ ต้นการ Debugger (เริม่ ต้นบรรทัดที่
11) แล้วคลิกไอคอนคอนโทรล Breakpoints และคลิกเลือกเมนู “Set/Clear” หรือกดคียด์ ่วน “F12”
ก็ได้ แสดงดังรูปที่ 2.35 จะปรากฏจุด/เครื่องหมายสีแดงหลังเลขบรรทัดที่ 11 ในหน้าต่าง “MATLAB
Editor” ดังรูปที่ 2.35

เริม่ ต้นใช้งานโปรแกรม MATLAB IDE


บทที่ 2 (Getting Started with MATLAB IDE)
MATLAB IDE Programming หน้า 2–31

4) รัน โค้ ด โดยคลิก ไอคอนคอนโทรล Run ปุ่ มสีเ ขีย ว บนแท็บ EDITOR หน้ า ต่ า ง
โปรแกรม Editor จะเข้าสู่โหมด Debugger จะมีรูปลูกศรสีเขียวปรากฏขึ้นหลังเครื่องหมายสีแดง ที่
บรรทัด 11 แสดงดังรูปที่ 2.36 และไอคอนคอนโทรลสาหรับใช้งานดีบกั ได้แก่ “Continue” “Step”
และ “Quit Debugging” จะปรากฏขึน้ พร้อมกัน ดังรูป

5) คลิ กไอคอนคอนโทรล/ปุ่ ม “Step” เมื่อคลิกปุ่ม 1 ครัง้ Debugger จะนาคาสังบรรทั


่ ดที่
11 ไปประมวลผล แล้วรูปลูกศรสีเขียวจะเลื่อนลงหยุดรอการคลิกเพื่อประมวลผลคาสังบรรทั ่ ดที่ 12
ต่อไป สังเกตตัวแปรทัง้ หมด (ปรากฏตัวแปร sum=0) ทีห่ น้าต่าง Workspace แสดงค่าตัวแปรดังรูป
ที่ 2.37 อีกอย่างหนึ่ง ทีห่ น้าต่าง Command window จะเปลีย่ นสัญลักษณ์พร๊อมต์ เป็ น “K>>” ดังรูป
ขณะทาการตรวจสอบ ผูใ้ ช้งานสามารถพิมพ์คาสังใดๆ
่ ลงไปทดสอบก็ได้

รูปที่ 2.37 เหตุการณ์เมื่อคลิกปุ่มไอคอน “Step”

6) ยกเลิ กโหมดการ Debugging ทาได้โดยคลิกทีป่ ่ มุ “Quit Debugging” เมื่อคลิกปุ่มแล้ว


แต่จุด Break-point ยังคงปรากฏอยู่บรรทัดที่ 11 สามารถเคลียร์ Breakpoints ได้ โดยคลิกทีไ่ อคอน
“Breakpoints” และคลิกเลือกทีเ่ มนู “Clear All”

เริม่ ต้นใช้งานโปรแกรม MATLAB IDE


(Getting Started with MATLAB IDE) บทที่ 2
หน้า 2–32 MATLAB IDE Programming

7) เคลียร์ Breakpoints โดยคลิกทีไ่ อคอน “Breakpoints” และคลิกเลือกทีเ่ มนู “Clear All”


ดัง รูป ที่ 2.38 หรือ จะใช้ค ีย์ด่ ว น F12 ในการยกเลิก ก็ไ ด้ โดยวางเคอร์เ ซอร์เ มาส์ไ ปต าแหน่ ง ที่
เครื่องหมาย Breakpoints ปรากฏ (บรรทัดที่ 11) กดคีย์ F12

คลิกเลือก

รูปที่ 2.38 การเคลียร์ Breakpoints

สรุปท้ายบท
โปรแกรม MATLAB เป็ นโปรแกรมทีม่ สี มรรถนะสูง จากตัวอย่างทีน่ าเสนอข้างต้น เป็ นการ
ใช้งานตัวแปรเก็บข้อมูลเพียงค่าเดียว แล้วนาไปประมวลผล ในบทต่อๆ ไปจะนาเสนอข้อมูลทีอ่ ยู่ใน
รูปของ Array สามารถเก็บข้อมูลได้ทงั ้ ประเภทตัวเลข และสตริง (ตัวอักษร) จะได้เรียนรู้และเห็น
ประสิทธิภาพการจัดการข้อมูลตัวเลขแบบ Array ด้วยคาสังต่ ่ างๆ ของ MATLAB ทีส่ ามารถจัดการ
ข้อมูลได้งา่ ย สะดวก และประมวลผลข้อมูลจานวนมากได้อย่างรวดเร็ว

เริม่ ต้นใช้งานโปรแกรม MATLAB IDE


บทที่ 2 (Getting Started with MATLAB IDE)
MATLAB Simulink Programming หนา 7–1

บทที่ 7
เริ่มตนใชงาน MATLAB Simulink แบบพื้นฐาน
บทนำ
เนื้อหาในบทนี้จะเป็ นการเรียนรูก้ ารใช้งานโปรแกรม MATLAB Simulink แบบปูพ้นื ฐาน
เริม่ ตัง้ แต่เบือ้ งต้นเหมาะสําหรับผูท้ ไ่ี ม่เคยเขียนโปรแกรมแบบกราฟิ กมาก่อน เมื่อได้เรียนรูแ้ ละฝึก
ปฏิบ ตั ิต ามแล้วหวังว่าคงจะสามารถนํ าไปพัฒนาโปรแกรมที่มีความซับซ้อนได้ ซึ่งจะได้เ รียนรู้
เกีย่ วกับการเริม่ ใช้งานโปรแกรม Simulink คําแนะนําเกีย่ วกับคุณสมบัตขิ องหน้าต่างโปรแกรมและ
บล็อกไลบรารี การใช้งานบล็อกคําสัง่ การเปิ ดงาน/การบันทึกงานโมเดล การพิมพ์งานโมเดล
ออกทางเครื่องพิมพ์ การใช้คยี ์ด่วนและเมาส์ประกอบการเขียนโปรแกรมเพื่อความรวดเร็วในการ
สร้างโมเดล เป็ นต้น โดยผูใ้ ช้งานจะมีความคุน้ เคยและมีทกั ษะการใช้งานโปรแกรมเพิม่ ขึน้ ดังนี้
 การเปิ ดใช้งานโปรแกรม MATLAB Simulink และส่วนประกอบของโปรแกรม
 การใช้งานบล็อกเซต (Blocksets) ทัวไป ่ ได้แก่ บล็อกเซตทางคณิตศาสตร์ และ
วิทยาศาสตร์ ทีเ่ ป็ นตัวอย่างการคํานวณแบบง่ายๆ เป็ นต้น
 ฝึกการเขียนโมเดลและการโปรแกรมมิง่ แบบทีละบล็อกเซต/บล็อกไดอะแกรม และ
การปรับตัง้ ค่าคุณสมบัตใิ ห้กบั บล็อกเซตเหล่านัน้
 ฝึกการเขียนโมเดล ทดสอบการทํางาน และโดยรันโปรแกรมบนหน้าต่างทํางาน
“Simulink Editor”
 เรียกใช้งานคําสังด้
่ วยคียด์ ว่ นและเมาส์ ประกอบการเขียนโปรแกรมเพือ่ ความรวดเร็ว
ในการสร้างโมเดล

7.1 แนะนำ MATLAB Simulink


MATLAB Simulink ออกแบบและสร้างโดยบริษทั “MathWorks” ได้พฒ ั นาขึน้ สําหรับงาน
สร้างแบบจําลองระบบพลวัต (Dynamic System Modeling) ต่างๆ ในรูปของบล็อกเซต (Blocksets)
หรือบล็อกไดอะแกรม (Block diagram) มีลกั ษณะเป็ นรูปภาพ (แสดงดังรูปที่ 7.1) กล่าวคือ เป็ นการ
โปรแกรมคอมพิวเตอร์โดยใช้ภาษาทีเ่ ป็ นรูปภาพหรือกราฟิ ก (Graphical Programming Language:
GPL) ซึ่งบล็อกแต่ละบล็อกนัน้ เปรียบเหมือน “ฟั งก์ชน
ั ” หรือ “คําสัง่ ” ต่างๆ ที่กําหนดให้ทํางาน
แตกต่างกันไป โดยทีแ่ ต่ละบล็อกนัน้ จะประกอบด้วย Input, Process และ Output สําหรับเชื่อมต่อ
กับบล็อกเซตอื่นๆ ให้เป็ นระบบหรือโครงข่ายโปรแกรมขึน้ แสดงดังรูปที่ 7.1

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


7–1
(Getting Started with MATLAB Simulink) บทที่ 7
หนา 7–2 MATLAB Simulink Programming

นอกจากใช้สร้างเป็ นโปรแกรมได้แล้ว ยังสามารถจําลองการทํางาน (Simulating) และการ


วิเคราะห์ระบบ (Analyzing) สําหรับระบบฝั งตัวแบบไดนามิกและระบบพลวัตหลายโดเมน (Multi-
Domain Dynamical Systems) อีกด้วย เครือ่ งมือสําหรับการเชื่อมต่อหลักๆ จะเรียกว่าบล็อกเซตหรือ
บล็อกไดอะแกรม ซึง่ เป็ นรูปภาพกราฟิ กรูปร่างต่างๆ มีรปู ลักษณะทีส่ อดคล้องกับฟั งก์ชนั การทํางาน
ของตัวมันเอง
MATLAB ได้รวบรวมบล็อกเซตต่างๆ ไว้เป็ นชุดไลบรารี (Blockset Libraries) มากมาย
เช่นเดียวกันกับโปรแกรม MATLAB Desktop (IDE) ได้แก่ Control System, Bioinformatics, Signal
Processing, Fuzzy Logic, Aerospace, Image Processing, และ Econometrics เป็ นต้น โดยได้
ออกแบบให้สามารถทํางานร่วมกันกับโปรแกรม MATLAB Desktop ทีเ่ ป็ นไฟล์สคริปต์ (.m-Files) ได้
อีกด้วย คุณสมบัตดิ งั ทีก่ ล่าวมาแล้วข้างต้น ทําให้โปรแกรม MATLAB Simulink ถูกนําไปใช้ในงาน
อย่างแพร่หลายสําหรับการออกแบบโมเดล การสร้างแบบจําลองสําหรับระบบควบคุมอัตโนมัติ การ
ประมวลผลสัญญาณดิจติ อล และการประมวลผลภาพดิจติ อล เป็ นต้น ลักษณะโมเดลทีอ่ อกแบบด้วย
MATLAB Simulink แสดงดังรูปที่ 7.2

Input Output

Process
รูปที่ 7.1 ตัวอย่างบล็อกเซตฟั งก์ชนั ทีป่ ระกอบด้วย Input, Process และ Output

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


บทที่ 7 (Getting Started with MATLAB Simulink)
7–2
MATLAB Simulink Programming หนา 7–3

รูปที่ 7.2 โมเดลโปรแกรมด้านการประมวลผลภาพด้วย Raspberry Pi

7.2 การเปดใชงาน MATLAB Simulink


โปรแกรม MATLAB Simulink จะทํางานภายใต้ MATLAB Desktop (IDE) ดังนัน้ ในการเปิ ด
โปรแกรมเพือ่ ใช้งาน จึงต้องทําการเปิ ดโปรแกรม MATLAB Desktop ให้พร้อมใช้งานเสียก่อน ซึง่ ใน
หนังสือเล่มนี้จะนํ าเสนอการใช้งานโปรแกรม MATLAB Simulink เวอร์ชนั ที่มาพร้อมกับ MATLAB
R2018b (ปั จจุบนั พ.ศ. 2562 เวอร์ชนั อับเดทล่าสุด คือ MATLAB R2019b)

การเปิ ดโปรแกรม MATLAB Simulink สามารถทําได้ 3 วิ ธี คือ


1) การเปิ ดด้วยการใช้คาํ สัง่ “simulink” ทีห่ น้าต่าง “Command window”
2) การเปิ ดด้วยเมนู “Simulink Model” บนแท็บ Home (Contextual Tab) และ
3) การเปิ ดโดยคลิกทีไ่ อคอนคอนโทรล “Simulink” บนหน้าต่าง MATLAB Desktop

ทัง้ 3 วิธกี ารเปิ ดโปรแกรม MATLAB Simulink แสดงดังรูปที่ 7.3

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


7–3
(Getting Started with MATLAB Simulink) บทที่ 7
หนา 7–4 MATLAB Simulink Programming

3) คลิกไอคอน

1) ใชคำสั่ง

2) ใชเมนู

รูปที่ 7.3 การเปิ ดใช้งาน MATLAB Simulink 3 วิธี

ผูใ้ ช้งานเลือกใช้วธิ ใี ดวิธหี นึ่ง เมือ่ โปรแกรม MATLAB ถูกเปิ ดใช้งานแล้ว จะแสดงหน้าต่าง
“Simulink Start Page” ดังรูปที่ 7.4 ซึง่ เป็ นหน้าต่างเริม่ ต้นก่อนการเขียนโปรแกรมแบบกราฟิ ก
ทีห่ น้าต่าง “Simulink Start Page” ประกอบด้วย 3 ส่วนหลักๆ จุดมุง่ หมายเพือ่ ให้ผใู้ ช้งาน
มีความสะดวกต่อการใช้งาน คือ 1) เปิ ดงานทีเ่ คยทํางานไว้แล้ว หรือ 2) ตัดสินใจเลือกสร้างงานใหม่
ตามหมวดหมู่ และประเภทของงานด้า นต่า งๆ ( Template) ได้แ ก่ Aerospace, Audio System,
Communications, DSP System, Embedded Coder เป็ นต้น และหรือ 3) ผูใ้ ช้งานยังสามารถศึกษา
และเรียนรูต้ วั อย่างโมเดล Simulink ทีโ่ ปรแกรม MATLAB ได้จดั เตรียมเป็ นหมวดหมู่ไว้ให้เรียบร้อย
แล้ว แสดงดังรูปที่ 7.4

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


บทที่ 7 (Getting Started with MATLAB Simulink)
7–4
MATLAB Simulink Programming หนา 7–5

เปดงานเดิม

สรางโมเดลใหม

ตัวอยางโมเดล

รูปที่ 7.4 ส่วนประกอบหลักบนหน้าต่าง “Simulink Start Page”

หน้ าต่างที่สําคัญๆ ของโปรแกรม MATLAB Simulink คือ หน้ าต่าง “Simulink Editor”
โดยได้ออกแบบมาเพื่อสนับสนุ นการทํางานให้กบั ผู้ใช้งานใช้สําหรับการออกแบบ/แก้ไขโมเดล
(เปรียบเทียบเหมือนกับโปรแกรม MATLAB Desktop Editor ทีใ่ ช้สาํ หรับการเขียนโค้ด/แก้ไขโค้ด)
โดยทีผ่ ใู้ ช้งานสามารถโหลดไฟล์มาเพือ่ การแก้ไขเพิม่ เติมอีก หรือนําโมเดลมารันภายหลังได้ และยัง

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


7–5
(Getting Started with MATLAB Simulink) บทที่ 7
หนา 7–6 MATLAB Simulink Programming

มีเครื่องมืออํานวยความสะดวกอื่นๆ อีกมากมาย ได้แก่ การเชื่อมต่อเส้นเชื่อมแบบอัตโนมัติ การ


สร้างระบบย่อยสําหรับโมเดลทีม่ คี วามซับซ้อนให้มคี วามง่ายต่อการตรวจสอบ เป็ นต้น เพือ่ สนับสนุน
ให้ผใู้ ช้งานได้ทาํ การออกแบบและเขียนโปรแกรมให้มคี วามสะดวกและง่ายขึน้ ด้วย
การเปิ ดใช้งานหน้าต่าง “Simulink Editor” ทําได้โดยคลิ กที่ไอคอน “Blank Model” บน
หน้าต่าง “Simulink Start Page” แสดงการใช้งานดังรูปที่ 7.5

คลิกไอคอน

หนาตาง Simulink Editor

รูปที่ 7.5 การเปิ ดใช้งานและหน้าต่าง “Simulink Editor”

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


บทที่ 7 (Getting Started with MATLAB Simulink)
7–6
MATLAB Simulink Programming หนา 7–7

ภายใต้หน้าต่าง Simulink Editor ยังมีหน้าต่างย่อยสําคัญๆ อีกหน้าต่างหนึ่ง คือ หน้าต่าง


“Simulink Library Browser” (แสดงดังรูปที่ 7.6) เป็ นหน้าต่างที่ MATLAB ได้บรรจุบล็อกไดอะแกรม
(Block diagram) หรือบล็อกเซต (Blocksets) ไว้มากมาย โดยได้จดั เป็ นหมวดหมู่ต่างๆ (Toolboxes)
เป็ นชุดคําสัง่ หรือเรียกว่า “ทูลบ๊อกซ์” ทีจ่ ะนําไปเขียนเป็ นโปรแกรมขึน้ ทําได้โดยคลิ กที่ไอคอน
ค้างไว้ ลากและวางไปที่หน้ าต่าง “Simulink Editor” แล้วเชือ่ มต่อกันเป็ นโมเดลด้วยเส้นเชื่อมต่อ
การเปิ ด หน้ า ต่ า ง “Simulink Library Browser” ทํา ได้โ ดยคลิ กที่ ไอคอนคอนโทรล
“Library Browser” บนแทบเมนูไอคอนคอลโทรล (Toolbar) ทีห่ น้าต่าง “Simulink Editor” แสดงการ
เปิ ดหน้าต่างเพือ่ ใช้งานดังรูปที่ 7.6

คลิกไอคอน

รูปที่ 7.6 การเปิ ดใช้งานและหน้าต่าง “Simulink Library Browser”

ในรูปที่ 7.7 จะแสดงลักษณะของโปรแกรมทีอ่ ยู่ในรูปของกราฟิ ก ซึ่งประกอบด้วยบล็อก


เซตต่างและเส้นเชือ่ มต่อประกอบกันขึน้ เป็ นโปรแกรมหรือโมเดล

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


7–7
(Getting Started with MATLAB Simulink) บทที่ 7
หนา 7–8 MATLAB Simulink Programming

บล็อกคำสั่ง

เสนเชื่อม

รูปที่ 7.7 ลักษณะโปรแกรมบนหน้าต่าง “Simulink Editor”

ส่วนการจัดการบล็อกเซตฟั งก์ชนั หรือปรับตัง้ ค่าคุณสมบัติ (Properties Preferences)


ให้กบั บล็อกไดอะแกรม/บล็อกเซตแต่ละบล็อกนัน้ (Block Parameter Setting) ทําได้งา่ ยมาก โดยการ
ดับเบิ้ลคลิ กที่บล็อกเซตนัน้ ๆ แล้วจะปรากฏหน้าต่าง “Block Parameters: Settings” ขึน้ เพื่อให้
ผู้ใ ช้งานได้ปรับตัง้ ค่าหรือกําหนดเงื่อนไขการทํางานให้กบั บล็อกคําสังนั
่ น้ ๆ จะมีค วามง่ายและ
สะดวกกว่าการใช้งานฟั งก์ชนั แบบเขียนโค้ดทีจ่ ะต้องเตรียมตัวแปรเพือ่ ใช้งาน แสดงดังรูปที่ 7.8

ดับเบิ้ลคลิก

รูปที่ 7.8 หน้าต่าง “Block Parameters Settings” สําหรับกําหนดคุณสมบัตกิ ารทํางานให้กบั บล็อก

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


บทที่ 7 (Getting Started with MATLAB Simulink)
7–8
MATLAB Simulink Programming หนา 7–9

7.3 การสรางโมเดล (Creating a Model)


การเปดและจัดหนาตางทำงาน
การสร้างโมเดลใหม่หรือการเปิ ดหน้าต่าง “Simulink Editor” ขึน้ มาใหม่นนั ้ ทําได้หลายวิธี
(แสดงดังรูปที่ 7.9) ได้แก่
1) เปิ ดจากหน้าต่าง “Simulink Start Page” ด้วยการคลิกทีไ่ อคอน “Blank Model”
2) เปิ ดจากหน้าต่าง “Simulink Editor” ด้วยการคลิกไอคอนคอนโทรล “Create a
Simulink model” และ
3) เปิ ดจากหน้าต่าง “Simulink Library Browser” ด้วยการคลิกไอคอนคอนโทรล “Create
a Simulink model”

คลิกไอคอน

คลิกไอคอน

คลิกไอคอน

รูปที่ 7.9 วิธกี ารสร้างโมเดลใหม่

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


7–9
(Getting Started with MATLAB Simulink) บทที่ 7
หนา 7–10 MATLAB Simulink Programming

เมื่อได้ทาํ การสร้างโมเดลใหม่ขน้ึ มา 1 หน้าต่างแล้ว สิง่ ทีผ่ เู้ ขียนโปรแกรมด้วยภาษา GPL


โดยใช้ MATLAB Simulink จะต้องเกี่ยวข้องอยู่เสมอ มี 2 หน้าต่าง คือ หน้าต่าง “Simulink Editor”
และหน้าต่าง “Simulink Library Browser” เนื่องจากว่า เมื่อผูใ้ ช้งานต้องการหาคําสังบล็ ่ อกเซตใด
จะต้องหาจากหน้าต่าง “Simulink Library Browser” และเมือ่ ผูใ้ ช้งานจะทําการออกแบบ/สร้าง/แก้ไข
การตัง้ ค่าคุณสมบัตใิ ห้กบั บล็อกเซตใดๆ และรันโปรแกรมแล้ว ผูใ้ ช้งานจะต้องดําเนินการทีห่ น้าต่าง
“Simulink Editor” นี้ จึงต้องทํางานและเกีย่ วข้องกับหน้าต่าง 2 หน้าต่างดังทีก่ ล่าวแล้วข้างต้น
ดังนัน้ ผูเ้ ขียนจึงแนะนําให้เปิ ด 2 หน้าต่างนี้ขน้ึ มาแล้วทําการจัดวางหน้าต่างให้ตงั ้ เรียงกัน
แสดงดังรูปที่ 7.10 (Tile windows vertically) เพือ่ ความสะดวก และง่ายต่อการลากและวางบล็อกเซต
จากหน้าต่าง “Simulink Library Browser” ไปยังหน้าต่าง “Simulink Editor” ดังรูปหน้าต่างข้างล่าง

Simulink Library Browser Simulink Editor

รูปที่ 7.10 จัดวางหน้าต่างแบบเรียงตัง้ กันไป Tile windows vertically

การเลือกบล็อกเซตชุดคำสั่ง
การเขียนโปรแกรมแบบ GPL ต้องใช้บล็อกเซตจากหน้าต่าง “Simulink Library Browser”
ซึ่ง MATLAB ได้ทําการจัดแบ่งออกเป็ นหมวดหมู่แล้ว การนํ าบล็อกเซตมาใช้งานทําได้โดยคลิกที่
บล็อกเซตทีต่ อ้ งการ “คลิ กเมาส์ซ้าย” ค้างไว้ “ลาก” (Drag) รูปบล็อกเซตนัน้ ไป “วาง” แล้วปล่อย
เมาส์ (Drop) บนหน้าต่างทํางาน “Simulink Editor” รูปที่ 7.11 แสดงการลากบล็อกเซต “Product”
จากหมวดหมู่ “Simulink/Math Operations” ซึ่งเป็ นบล็อกเซตทีม่ หี น้าทีก่ ารทํางานสําหรับการคูณ
เลขจํานวนใดๆ และทําการนําบล็อกเซตไปวางไว้ทห่ี น้าต่างทํางาน “Simulink Editor”

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


บทที่ 7 (Getting Started with MATLAB Simulink)
7–10
MATLAB Simulink Programming หนา 7–11

คลิกลากแลววาง
รูปที่ 7.11 การลากและวางบล็อกเซตไปยังหน้าต่าง Simulink Editor

พิมพ keyword

บล็อกเซตผลลัพธ

รูปที่ 7.12 หน้าต่าง “Simulink Library Browser” กับการค้นหาบล็อกเซต “Constant”

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


7–11
(Getting Started with MATLAB Simulink) บทที่ 7
หนา 7–12 MATLAB Simulink Programming

ตามปกติการออกแบบและสร้างโมเดลนัน้ จะใช้บล็อกเซตจํานวนมาก และยังต้องลากเส้น


เชื่อมต่อระหว่างบล็อกเซตอีกด้วย ดังนัน้ สําหรับผูใ้ ช้งานทีก่ ําลังเขียนโปรแกรมใหม่ๆ อาจจะจดจํา
ชื่อบล็อกเซตจํานวนมากๆ ไม่ได้ทงั ้ หมด หรืออาจะบอกไม่ได้ว่าบล็อกเซตที่กําลังต้องการนัน้ อยู่
หมวดหมู่ใด การค้นหาบล็อกเซตจึงมีความจําเป็ นอย่างยิง่ จากรูปที่ 7.12 แสดงการค้นหาบล็อก
เซตทีท่ าํ หน้าทีก่ าํ หนดค่าคงทีเ่ ป็ นจํานวนตัวเลข บล็อกเซตชือ่ “Constant”
จากรูปที่ 7.12 ผูใ้ ช้งานพิมพ์คยี เ์ วิรด์ “constant” ทีช่ ่อง Text box ต่อจากนัน้ กดคีย์ Enter
โปรแกรมจะค้นหาบล็อกเซตที่เกี่ยวข้องกับ “constant” ทุกหมวดหมู่ แล้วนํ ามาแสดงให้เห็นบน
หน้ าต่าง “Simulink Library Browser” การจะได้บล็อกเซตผลลัพธ์ท่ตี รงตามความต้องการของ
ผูง้ านนัน้ จะขึน้ อยูก่ บั คียเ์ วิรด์ ทีป่ ้ อนเข้าไปด้วย
ผูใ้ ช้งานเลือกบล็อกเซต “constant” ลากและวางไปไว้ทห่ี น้าต่างทํางาน Simulink Editor
วางลงทีต่ าํ แหน่งใดๆ ก็ได้บนหน้าต่างทํางาน แสดงการใช้งานดังรูปที่ 7.13

รูปที่ 7.13 การลากและวางบล็อกเซต “Constant” ไปยังหน้าต่าง Simulink Editor

การเลือกและปรับขนาดบล็อกเซต
บล็อกเซตแต่ละบล็อกเซต ที่ปรากฏอยู่บนหน้าต่างทํางาน (Simulink Editor) สามารถ
เพิ่ ม-ลดขนาดของบล็อกเซต ให้เหมาะสมตามความต้องการของผูใ้ ช้งานได้ โดย “คลิ ก” ทีบ่ ล็อก
เซตนัน้ จะปรากฏ “สี่เหลี่ยมสี นํ้าเงิ นล้อมรอบบล็อกเซต” นัน้ (Small black square “handles”)
แสดงดังรูปที่ 7.14 แสดงบล็อกเซต “Constant” ทีถ่ ูกคลิกเลือก ให้ผใู้ ช้งานเลือ่ นเคอร์เซอร์เมาส์ไปที่
ตําแหน่ งมุมใดๆ ของบล็อกเซต แล้วเคอร์เซอร์เมาส์จะเปลีย่ นเป็ นรูปเปลีย่ นขนาด (Resize) ดังรูป
ต่อจากนัน้ ผูใ้ ช้งานจะสามารถทําการเลื่อนเมาส์เพือ่ เพิม่ -ลดขนาดบล็อกเซตได้

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


บทที่ 7 (Getting Started with MATLAB Simulink)
7–12
MATLAB Simulink Programming หนา 7–13

รูปที่ 7.14 ผลลัพธ์ทเ่ี กิดขึน้ เมือ่ คลิกเลือกบล็อกเซต และลด-เพิม่ ขนาดบล็อกเซต

การเลือกมากกวา 1 บล็อกเซต
เราสามารถเลือกบล็อกเซตมากกว่าหนึ่งบล็อกได้ โดยใช้เมาส์ลากให้ครอบคลุมทุกๆ
บล็อกเซต เพือ่ แบ่งบล็อกเซตออกเป็ นกลุ่มโมเดลย่อยๆ ทําให้งา่ ยต่อการมองและการวิเคราะห์หรือ
การแก้ไขโปรแกรม สิง่ ทีเ่ กิดขึน้ หลังจากทําการเลือกบล็อกเซตเป็ นกลุ่ม ผูใ้ ช้งานสามารถจัดการหรือ
ตัง้ ค่าคุณสมบัตติ ่างๆให้กบั บล็อกเซต ได้แก่ Create Subsystem, Comment Out, และ Create Area
แสดงการใช้งานดังรูปที่ 7.15 โดยจะปรากฏเมนูไอคอน “…” จุดสีน้ําเงิน 3 จุด ทําการเลื่อนเมาส์ไป
ทีจ่ ุด 3 จุดนัน้ จะปรากฏเมนูไอคอนย่อยๆ ซึง่ มีฟังก์ชนั งานต่างๆ ให้ผใู้ ช้งานได้ใช้ตงั ้ ค่าคุณสมบัต.ิ
ให้กบั บล็อกเซต แสดงผลลัพธ์ดงั รูปข้างล่าง

คลิกและลากเมาสเพื่อเลือกบล็อกเซต

เมนูไอคอนฟงกชันตางๆ

เมนูไอคอน

รูปที่ 7.15 การเลือกบล็อกเซตมากกว่าหนึ่งบล็อก และเมนูไอคอนสําหรับการตัง้ ค่าคุณสมบัติ

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


7–13
(Getting Started with MATLAB Simulink) บทที่ 7
หนา 7–14 MATLAB Simulink Programming

การแสดงชือ่ บล็อกเซต
เมื่อเลือกและวางบล็อกเซตไว้ทห่ี น้าต่าง “Simulink Editor” ครัง้ แรกแล้วนัน้ จะไม่แสดงชือ่
ของบล็อกเซต ผูใ้ ช้งานสามารถกําหนดคุณสมบัตใิ ห้แสดงชื่อได้ โดยการคลิ กที่บล็อกเซตนัน้ จะ
ปรากฏเมนูไอคอน “…” ต่อจากนัน้ ผูใ้ ช้งานคลิกทีเ่ มนูไอคอนนี้ จะมีเมนูยอ่ ยแสดงดังรูปที่ 7.16 แล้ว
คลิกเลือกเมนูไอคอน “Show Block Name” ผลลัพธ์แสดงดังรูปข้างล่าง

คลิกเลือก
เมนูไอคอน
เมนูไอคอนฟงกชันตางๆ
สำหรับบล็อกเซต

รูปที่ 7.16 เมนูไอคอนคอนโทรลและการตัง้ ค่าคุณสมบัติ “Show Block Name”

การกำหนดชื่อใหกับบล็อกเซต
การคลิกเลือกบล็อกเซต 1 ครัง้ นอกจากจะตัง้ ค่าคุณสมบัตกิ ารแสดงชื่อบล็อกเซตได้แล้ว
ผูใ้ ช้งานสามารถเปลี่ยนชื่ อบล็อกเซตใหม่ได้ จากรูปที่ 7.17 เลื่อนเคอร์เซอร์เมาส์ไปที่ช่อื บล็อก
เซต “Constant” รูปเคอร์เซอร์เมาส์จะเปลีย่ นเป็ นรูป “TextSelect, I” ทําการเปลีย่ นชือ่ บล็อกเซตใหม่
แสดงดังรูปข้างล่าง

รูปที่ 7.17 ตัง้ ค่าคุณสมบัตบิ ล็อกเซตด้วยการเปลีย่ นชือ่ ใหม่

การ Duplicate บล็อกเซต


การเขีย นโปรแกรมแบบ GPL ต้องเลือกใช้บล็อกเซตจากหน้ าต่าง “Simulink Library
Browser” ถ้าหากว่า เราต้องการบล็อกเซตเดิมมาใช้งานอีก ผูใ้ ช้งานไม่จาํ เป็ นต้องไปเลือกหรือค้นหา
ทีห่ น้าต่าง “Simulink Library Browser” อีกจะทําให้เสียเวลามาก เราสามารถใช้วธิ กี ารสร้างบล็อกเซต
แบบทําซํ้าๆ ได้ (Duplicate) โดยการกดคีย์ “Ctrl” ค้างไว้ และใช้เมาส์คลิ กที่บล็อกเซตที่ต้องการ
Duplicate ลากแล้ววางไปยังตําแหน่ งที่ ต้องการ ดังรูปที่ 7.18 แสดงการ Duplicate บล็อกเซต
“Constant” และวางไปทีต่ าํ แหน่งด้านล่างของบล็อกเซตเดิม แสดงดังรูปข้างล่าง

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


บทที่ 7 (Getting Started with MATLAB Simulink)
7–14
MATLAB Simulink Programming หนา 7–15

รูปที่ 7.18 การ Duplicate บล็อกเซต “Constant” ด้วยการใช้เมาส์และคียบ์ อร์ด

จากรูปที่ 7.18 บล็อกเซตทีจ่ ากได้การ Duplicate โปรแกรมจะตัง้ ชื่อเดิมไว้ให้และตามด้วย


เลขจํานวนทีถ่ ูกทํา Duplicate คือ “1” ต่อท้ายชือ่ เดิม
อีกวิธกี ารหนึ่งสําหรับการทํา Duplicate บล็อกเซต โดยการใช้คาํ สัง่ “Copy” แล้ว “Paste”
ทีห่ น้าต่างทํางาน Simulink Editor คลิกเลือกบล็อกเซตทีต่ อ้ งการ Duplicate ให้ Active เป็ นเส้นกรอบ
สี่เ หลี่ย มสีน้ํ าเงิน คลิกที่เ มนู คําสัง่ “Edit” และเลือก “Copy” สําหรับ การคัดลอกบล็อกเซต และ
“Paste” สําหรับการวางเพือ่ Duplicate บล็อกเซตนัน้ แสดงการใช้งานดังรูปที่ 7.19

คลิกเมนู

คลิกคัดลอก
คลิกวาง

รูปที่ 7.19 การใช้เมนูเพือ่ Duplicate บล็อกเซต

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


7–15
(Getting Started with MATLAB Simulink) บทที่ 7
หนา 7–16 MATLAB Simulink Programming

การกำหนดสีใหกับบล็อกเซต
โปรแกรม Simulink ออกแบบให้ผู้ใช้งานสามารถตัง้ ค่าคุณสมบัตสิ ขี องบล็อกเซต และ
สีพน้ื หลังของบล็อกเซตได้ เพือ่ ง่ายต่อการจดจําและแยกแยะบล็อกเซตคําสังต่ ่ างๆ ให้สะดวกต่อการ
ดูแยกแยะแต่ละบล็อกเซตทีเ่ หมือนกัน และง่ายต่อการวิเคราะห์โปรแกรม ในการปรับตัง้ ค่าสีให้กบั
บล็อกเซตนี้ ทําได้โดยคลิ กขวาที่ บล็อกเซตที่ ต้องการตัง้ ค่ าคุณสมบัติจะปรากฏเมนู ใ ช้งาน
แสดงดังรูปที่ 7.20 ต่อจากนัน้ คลิกเลือกเมนู “Format” และเลือก “Foreground Color” สําหรับ
กําหนดสีให้กบั ชือ่ และรูปบล็อกเซต (สี default จะกําหนดเป็ นสีดาํ ) ส่วน “Background Color” สําหรับ
กําหนดสีพน้ื หลังของบล็อกเซต (สี default จะกําหนดเป็ นสีขาว)
ค่าสีสําหรับ “Foreground Color” และ “Background Color” ผู้ใช้งานสามารถกําหนดสี
มาตรฐานได้ทงั ้ หมด 12 สี ได้แก่ 'black', 'white', 'red', 'green', 'blue', 'cyan', 'magenta', 'yellow',
'gray', 'lightBlue', 'orange', และ 'darkGreen' ถ้าต้องการกําหนดเป็ นสีอ่นื ๆ สามารถคลิกเลือกทีเ่ มนู
ย่อย “Custom” จะมีหน้าต่าง “Select Color” ให้เลือกและกําหนดเป็ นค่าสีใหม่ได้ ดังรูปที่ 7.21

คลิกเมนู

เมนูสำหรับตั้งคา
คุณสมบัติสีบล็อกเซต

รูปที่ 7.20 เมนู “Format” สําหรับกําหนดค่าสี “Foreground Color” และ “Background Color”

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


บทที่ 7 (Getting Started with MATLAB Simulink)
7–16
MATLAB Simulink Programming หนา 7–17

รูปที่ 7.21 หน้าต่าง “Select Color” สําหรับกําหนดค่าสีใหม่ให้กบั บล็อกเซต

จากรูปที่ 7.22 เป็ นผลลัพธ์ท่ไี ด้จากการกําหนดค่าสีบล็อกเซตและสีพ้นื หลังใหม่ ให้กบั


บล็อกเซต และเปลีย่ นชื่อใหม่ให้กบั บล็อกเซต “Constant”, และ “Product” ทัง้ สามบล็อกเซต โดยมี
ความแตกต่างกัน แสดงผลลัพธ์ดงั รูปข้างล่าง

รูปที่ 7.22 ผลลัพธ์การกําหนดค่าสีบล็อกเซต “Constant” และตัง้ ชือ่

การสรางเสนเชื่อมตอระหวางบล็อกเซต
การเขียนโปรแกรมแบบ GPL นอกจากจะใช้บล็อกเซตแทนคําสังหรื ่ อฟั งก์ชนั ใดๆ แล้ว ยัง
ใช้ เส้ นเชื่ อมต่ อเพื่อแสดงหรือกําหนดทิ ศทางของสัญญาณจากบล็อกเซตหนึ่ งไปยังบล็อก
เซตหนึ่ ง การสร้างเส้นเชื่อมต่อจากบล็อกเซตหนึ่งไปยังบล็อกเซตหนึ่งนัน้ ทําได้ง่ายมาก โดยการ
เลื่อนเคอเซอร์เมาส์ไปวางไว้ทต่ี ําแหน่ ง Output port ของบล็อกเซต เคอเซอร์เมาส์จะแสดงเป็ นรูป
กากบาท (Precision Select, + ) แสดงหรือบ่งบอกให้รู้ว่าเป็ นจุดเริม่ ต้นเพื่อการลากเส้นเชื่อมต่อ
ต่อจากนัน้ “คลิ กค้างไว้” แล้วลากเคอเซอร์เมาส์ไปยัง Input port ของบล็อกเซตที่ต้องการจะ
เชือ่ มต่อ แสดงการใช้งานดังรูปที่ 7.23
เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink
7–17
(Getting Started with MATLAB Simulink) บทที่ 7
หนา 7–18 MATLAB Simulink Programming

รูปที่ 7.23 การสร้างเส้นเชือ่ มต่อระหว่างบล็อกเซต

การสรางเสนเชื่อมตอแบบอัตโนมัติ
Simulink มีวธิ สี ร้างเส้นเชื่อมระหว่างบล็อกเซตโดยอัตโนมัติ ทําให้ผใู้ ช้งานไม่จําเป็ นต้อง
วาดเส้นเชื่อมต่อด้วยตนเอง เมื่อเชื่อมต่อระหว่างบล็อกเซตแล้ว โปรแกรม Simulink จะจัดเส้นทาง/
ทิศทางของเส้นเชือ่ มต่อ และหลีกเลีย่ งการซ้อนทับกับเส้นเชือ่ มต่ออื่นๆ ทีม่ อี ยูแ่ ล้วให้โดยอัตโนมัติ

วิ ธีการสร้างเส้นเชื่อมต่ออัตโนมัติระหว่าง 1 บล็อกเซต
แสดงวิธกี ารใช้งาน ดังรูปที่ 7.24 ทําได้โดย
1. คลิกเมาส์ทบ่ี ล็อกเซตอันแรกให้ Active (บล็อกเซตต้นทาง)
2. กดคีย์ “Ctrl” ค้างไว้ และคลิกเมาส์ท่บี ล็อกเซตที่ต้องการเชื่อมต่อด้วย (บล็อกเซต
ปลายทาง)

2.กดคีย Ctrl+คลิกเมาส
1.คลิกให Active

รูปที่ 7.24 การสร้างเส้นเชือ่ มต่ออัตโนมัตริ ะหว่างบล็อก

วิ ธีการสร้างเส้นเชื่อมต่ออัตโนมัติเป็ นกลุ่มบล็อกเซต
แสดงวิธกี ารใช้งาน ดังรูปที่ 7.25 ทําได้โดย
1. ใช้เมาส์ลากครอบบล็อกเซตต้นทางให้ Active
2. กดคีย์ “Ctrl” ค้างไว้ และคลิกเมาส์ทบ่ี ล็อกเซตปลายทางทีต่ อ้ งการเชือ่ มต่อ

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


บทที่ 7 (Getting Started with MATLAB Simulink)
7–18
MATLAB Simulink Programming หนา 7–19

2.กดคีย Ctrl+คลิกเมาส

1.เลือกบล็อกเซต
รูปที่ 7.25 การสร้างเส้นเชือ่ มต่ออัตโนมัตเิ ป็ นกลุ่มบล็อกเซต

การสรางเสนแยกสาขา
เส้น แยกสาขาเป็ น เส้น ที่เ ริ่ม ต้น จากเส้น เชื่อ มต่ อ ที่มีอ ยู่แ ล้ว เพีย งแต่ ว่า ต้อ งการเพิ่ม
จุดเชื่อมแล้วลากเส้นเชื่อมต่อไปยังอินพุทของบล็อกเซตอื่นด้วย การใช้เส้นแยกสาขาทําให้เรา
สามารถเชือ่ มต่อสายสัญญาณเส้นเดียวไปยังอินพุทของบล็อกเซตได้มากกว่า 1 บล็อกเซต
จากรูปที่ 7.26 เป็ นการสร้างเส้นแยกสาขาจากเอาต์พุทบล็อกเซต “Product” ไปยังอินพุท
ของบล็อกเซต “Scope” และ “Display” มีวธิ กี ารดังต่อไปนี้

วิ ธีการสร้างเส้นแยกสาขา
แสดงการใช้งาน ดังรูปที่ 7.26 ทําได้โดย
1. ใช้เมาส์คลิกทีเ่ ส้นและจุดทีจ่ ะสร้างเส้นแยกสาขา
2. กดคีย์ “Ctrl” ค้างไว้และลากเมาส์ไปทีอ่ นิ พุทของบล็อกเซตปลายทาง (Display)

1.คลิกเสนและเลือกจุดแยก

2.ลากเสนไปยังอินพุทบล็อก
รูปที่ 7.26 วิธกี ารสร้างเส้นแยกสาขา

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


7–19
(Getting Started with MATLAB Simulink) บทที่ 7
หนา 7–20 MATLAB Simulink Programming

การจัดตำแหนงเสนเชื่อมตอ
การสร้างเส้นเชื่อมต่อระหว่างบล็อกทีผ่ ่านมา โปรแกรมจะเป็ นผูก้ ําหนดให้โดยเฉพาะ จะ
เป็ นเส้นเชื่อมต่อทีม่ กี ารหักมุมฉาก 90 องศา ผูใ้ ช้งานสามารถจัดระยะและตําแหน่ งให้เส้นเชื่อมได้
เพื่อให้มองโปรแกรมดูง่ายขึน้ และมีความสวยงาม ทําได้โดยใช้เมาส์คลิกทีเ่ ส้นนัน้ ค้างไว้ แล้วย้าย
เคอร์เซอร์เมาส์ไปตําแหน่ งใหม่ทต่ี อ้ งการ กล่าวคือ ถ้าเส้นเชื่อมต่อเป็ นแนวตัง้ การเคลื่อนย้าย
เมาส์จะเป็ นแนวซ้าย-ขวา และถ้าเส้นเชื่อมต่อเป็ นแนวนอน การเคลื่อนย้ายเมาส์จะเป็ นแนว
ขึน้ และลง แสดงดังรูปที่ 7.27

รูปที่ 7.27 การจัดตําแหน่งเส้นเชือ่ มโดยใช้เมาส์

การแทรกบล็อกเซตเขาไปในเสนเชื่อม
การเขีย นโปรแกรมแบบการเขียนโค้ด เมื่อต้องการแก้ไ ขหรือปรับปรุงโปรแกรมใหม่
บางครัง้ อาจจะมีก ารพิม พ์แ ทรกคํ า สัง่ เพิ่ม เติม เข้า ไป สํ า หรับ การเขีย นโปรแกรมแบบ GPL
เช่นเดียวกัน ผูใ้ ช้งานสามารถแทรกบล็อกเซตคําสังเข้ ่ าไประหว่างเส้นเชื่อมที่ต้องการจะแทรกได้
เพียงแต่ว่า บล็อกเซตทีจ่ ะนํ าเข้าไปแทรกนัน้ จะต้องมีอนิ พุทและเอาต์พุทเดียว แสดงตัวอย่างการ
แทรกบล็อกเซตดังรูปที่ 7.28 ทําได้โดยการคลิ กที่ บล็อกเซตที่ ต้องการจะนํ าไปแทรก ค้างไว้
ลากมันไปทับที่ เส้นเชื่อมต่อที่ต้องการแทรกแล้ววางลง (ปล่อยปุ่มเมาส์) โปรแกรมจะทําการ
แทรกบล็อกเซตระหว่างเส้นเชือ่ มนัน้ ให้โดยอัตโนมัติ ดังรูปข้างล่าง

คลิกลากและวาง

รูปที่ 7.28 แทรกบล็อกเซตเข้าไปในเส้นเชือ่ ม

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


บทที่ 7 (Getting Started with MATLAB Simulink)
7–20
MATLAB Simulink Programming หนา 7–21

การดึงบล็อกเซตออกจากเสนเชื่อมตอ
เมื่อบล็อกเซตถูกเชื่อมต่ออยูร่ ะหว่างเส้นเชือ่ มแล้ว ผูใ้ ช้งานสามารถดึงบล็อกเซตนัน้ แยก
ออกมาวางไว้เพื่อนําไปเชื่อมต่อกับบล็อกเซตอื่นๆ (ไม่ตอ้ งลบบล็อกเซตนัน้ ทิง้ ไป) ทําได้โดยกดคีย์
“Shift” ค้างไว้ คลิ กเมาส์ที่บล็อกเซตนัน ้ ลากแล้ววางไปไว้ที่ตาํ แหน่ งที่ต้องการ แสดงดังรูปที่
7.29 ส่วนเส้นเชือ่ มเดิมโปรแกรมจะยังคงแสดงร่องรอยและทิศทางให้เห็นเป็ นเส้นประสีแดงดังรูป

กดคีย Shift + คลิกลากและวาง

รูปที่ 7.29 การดึงบล็อกเซตออกจากเส้นเชือ่ ม

คำอธิบายประกอบบล็อกเซต
การเขียนโปรแกรมแบบการเขียนด้วยโค้ด แต่ละบรรทัด/คําสัง่ ผู้ใช้งานสามารถเขียน
คําอธิบายกํากับไว้ก่อนหรือหลังคําสังได้
่ โดยใช้เครือ่ งหมายกํากับทีโ่ ปรแกรมนัน้ ๆ กําหนดไว้
โปรแกรม MATLAB Simulink ออกแบบมาให้ผู้ใช้งานสามารถเขียนคําอธิบายประกอบ
บล็อ กเซตบนพื้น ที่ว่ า งๆ บนหน้ า งต่ า งทํา งานได้ แสดงการใช้ง านดัง รู ป ที่ 7.30 ซึ่ง เมื่อ สัง่ รัน
โปรแกรมแล้ว บล็อกเซตคําอธิบายนี้ จะไม่ถูกนํามาประมวลผลด้วย

คำอธิบายบล็อกเซต

รูปที่ 7.30 คําอธิบายประกอบบล็อกเซต

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


7–21
(Getting Started with MATLAB Simulink) บทที่ 7
หนา 7–22 MATLAB Simulink Programming

วิ ธีการสร้างคําอธิ บายประกอบบล็อกเซตบนหน้ าต่างทํางาน ทําได้โดย


1. ดับเบิล้ คลิกบนพืน้ ทีว่ า่ งบนหน้าต่างทํางาน จะปรากฏข้อความ “create annotation”
2. คลิกที่ขอ้ ความ “create annotation” จะปรากฏกรอบสีเหลี่ยมสีน้ํ าเงิน และไอคอน
เมนูสาํ หรับการจัดการกับข้อความ แสดงดังรูปข้างล่าง
3. พิมพ์ขอ้ ความคําอธิบาย แสดงการใช้งานดังรูปที่ 7.31

1. ดับเบิ้ลคลิก

2. คลิกเพื่อเขียนคำอธิบาย

เมนูจัดการขอความ

3. เขียนคำอธิบาย
รูปที่ 7.31 สร้างบล็อกคําอธิบายประกอบบล็อกเซต

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


บทที่ 7 (Getting Started with MATLAB Simulink)
7–22
MATLAB Simulink Programming หนา 7–23

คลิกและเคลื่อนยายเมาส
เพื่อจัดตำแหนงขอความ
รูปที่ 7.32 จัดตําแหน่งบล็อกคําอธิบาย

บล็อกข้อความ ผูใ้ ช้งานสามารถจัดตําแหน่ งการวางใหม่ได้ โดยคลิกทีบ่ ล็อกข้อความนัน้


ค้างไว้ และเคลื่อนย้ายเคอร์เซอร์เมาส์ไปวางไว้ทต่ี ําแหน่ งทีต่ อ้ งการ นอกจากนัน้ ทีห่ น้าต่างทํางาน
ยังสามารถแสดงเส้นไกด์ไลน์สนี ้ําเงินเพื่อบ่งบอกตําแหน่ งการจัดวางบล็อก ให้กง่ึ กลาง ชิดขอบบน
ซ้าย-ขวา แสดงประกอบไว้ชว่ ยให้ผใู้ ช้งานตัดสินใจจะวางลงตําแหน่งใดจึงจะเหมาะสม ดังรูปที่ 7.32

การตัง้ ค่าคุณสมบัติบล็อกคําอธิ บาย


นอกจากผู้ใช้งานจะพบเมนู ไอคอนสําหรับจัดการข้อความก่อนการพิมพ์คําอธิบายแล้ว
(ดังรูปที่ 7.31) เราสามารถจัดการ/ตัง้ ค่าคุณสมบัตบิ ล็อกข้อความอธิบายอีกครัง้ ได้ โดยคลิ กปุ่ มขวา
เมาส์ที่บล็อกข้อความอธิ บายนัน้ จะปรากฏรายการเมนู ดังรูปที่ 7.33 ได้แก่ “Edit Text” สําหรับ
แก้ไขข้อความ “Format” สําหรับเปลี่ยนสีขอ้ ความและสีพ้นื หลัง “Text Alignment” สําหรับการจัด
วางตําแหน่งข้อความ เป็ นต้น แสดงการใช้งานดังรูปข้างล่าง

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


7–23
(Getting Started with MATLAB Simulink) บทที่ 7
หนา 7–24 MATLAB Simulink Programming

คลิกปุมขวา

รูปที่ 7.33 เมนูตงั ้ ค่าคุณสมบัตบิ ล็อกข้อความคําอธิบาย

บล็อกคำอธิบายสัญลักษณทางคณิตศาสตร
การเขียนโปรแกรมคอมพิวเตอร์ เราคงหนีไม่พน้ การนําสมการคณิตศาสตร์มาใช้งานหรือ
นําสมการมาเพื่อประมวลผลข้อมูล Simulink ยังสามารถนําสมการ/สัญลักษณ์ทางคณิตศาสตร์และ
สัญลักษณ์อ่นื ๆ เช่น ตัวอักษรกรีก เป็ นต้น มาเขียนลงในคําอธิบายประกอบบล็อกเซตได้อกี ด้วย ซึง่
โปรแกรม Simulink จะสนับสนุนฟอร์แมตแบบ “TeX” มีขนั ้ ตอนวิธกี ารใช้งาน ดังนี้
1. ดับเบิล้ คลิกบนพืน้ ทีว่ ่างบนหน้าต่างทํางาน จะปรากฏข้อความ “create annotation”
คลิกที่ขอ้ ความ “create annotation” จะปรากฏกรอบสีเหลี่ยมสีน้ํ าเงิน และไอคอน
เมนูสาํ หรับการจัดการข้อความ ดังรูป 7.34
2. คลิกไอคอนเมนู “Insert Equation” จะปรากฏหน้าต่าง “Edit Equation” ขึน้
3. ทํา การเขีย นสมการ/สัญ ลัก ษณ์ ท างคณิ ต ศาสตร์รูป แบบ “TeX” ลงในช่ อ ง “Enter
equation code:” เสร็จแล้วคลิกปุ่ม “OK” แสดงการใช้งาน ดังรูปที่ 7.35

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


บทที่ 7 (Getting Started with MATLAB Simulink)
7–24
MATLAB Simulink Programming หนา 7–25

2. คลิกเมนูไอคอน

1. ดับเบิ้ลคลิก

3. เขียนสมการ

รูปที่ 7.34 หน้าต่าง “Edit Equation”

จากรูปที่ 7.35 เมื่อผู้ใช้งานเริม่ เขียนสมการ/สัญลักษณ์ ทางคณิตศาสตร์ สังเกตที่ช่อง


“Preview” จะปรากฏข้อความแสดงผลลัพธ์ไปพร้อมๆ กัน เพือ่ ให้ผใู้ ช้งานได้ตรวจสอบความถูกต้อง
ไปด้ว ย เมื่อ เขีย นสมการเสร็จ แล้ว คลิก ปุ่ ม “OK” จะได้ผ ลลัพ ธ์บ ล็อ กคํา อธิบ ายสัญ ลัก ษณ์ ท าง
คณิตศาสตร์บนหน้าต่างทํางาน แสดงผลลัพธ์ดงั รูปที่ 7.36

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


7–25
(Getting Started with MATLAB Simulink) บทที่ 7
หนา 7–26 MATLAB Simulink Programming

3. เขียนสมการ

คลิกปุม

รูปที่ 7.35 เขียนสมการ/สัญลักษณ์ทางคณิตศาสตร์รปู แบบ “TeX” ลงในช่อง “Enter equation”

รูปที่ 7.36 คําอธิบายทางสมการ/สัญลักษณ์คณิตศาสตร์บนหน้าต่างทํางาน

หมายเหตุ
ผูใ้ ช้งานสามารถดู “สัญลักษณ์ทางคณิตศาสตร์ ตัวอักษรกรีกและอักขระอื่นๆ ทีโ่ ปรแกรม
Simulink สนับสนุ นรูปแบบ “TeX” ทีน่ อกเหนือจากตัวอย่างทีไ่ ด้นําเสนอไปแล้ว มีความคุน้ เคยและ
ถูกนํามาใช้งานบ่อยๆ แสดงดังตารางที่ 7.1 เมือ่ จะนําสัญลักษณ์ไปใช้งานให้ใช้คาํ สัง่ TeX command
ไปพิมพ์หรือคัดลอกไปวางบนบล็อกข้อความได้

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


บทที่ 7 (Getting Started with MATLAB Simulink)
7–26
MATLAB Simulink Programming หนา 7–27

ตารางที่ 7.1 สัญลักษณ์ทางคณิตศาสตร์และ TeX commands ที่ Simulink สนับสนุน


สัญลักษณ์ TeX command สัญลักษณ์ TeX command
α \alpha υ \upsilon
β \beta ϕ \phi
γ \gamma ψ \psi
δ \delta ω \omega
ϵ \epsilon Δ \Delta
ζ \zeta Θ \Theta
η \eta Π \Pi
θ \theta Σ \Sigma
ι \iota Φ \Phi
λ \lambda Ψ \Psi
μ \mu Ω \Omega
π \pi ∗ \ast
ρ \rho ≅ \cong
σ \sigma ∼ \sim
τ \tau ≤ \leq
∞ \infty ← \leftarrow
↑ \uparrow → \rightarrow
↓ \downarrow ∘ \circ
± \pm ≥ \geq
∝ \propto ∂ \partial
• \bullet ÷ \div
≠ \neq ≡ \equiv
≈ \approx ℜ \Re
⊗ \otimes ⊕ \oplus
⊘ \oslash ∩ \cap
∪ \cup ⊇ \supseteq
⊃ \supset ⊆ \subseteq
∫ \int ∈ \in
… \ldots × \times
⋅ \cdot ∨ \vee
∧ \wedge ⊥ \perp

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


7–27
(Getting Started with MATLAB Simulink) บทที่ 7
หนา 7–28 MATLAB Simulink Programming

ตารางที่ 7.1 สัญลักษณ์ทางคณิตศาสตร์และ TeX commands ที่ Simulink สนับสนุน (ต่อ)


สัญลักษณ์ TeX command สัญลักษณ์ TeX command
⇐ \Leftarrow ⇒ \Rightarrow
⇑ \Uparrow ⇓ \Downarrow
′ \prime ∇ \nabla
√ \surd ∠ \angle

นอกจากสัญลักษณ์ทางคณิตศาสตร์ดงั ทีไ่ ด้แสดงแล้วตามตารางที่ 7.1 ยังมีตวั ดําเนินการ


ทางคณิตศาสตร์อ่นื ได้แก่ ตัวยก ตัวห้อย เลขชีก้ ําลัง ทีจ่ ําเป็ นจะต้องใช้ในสมการทางคณิตศาสตร์
มีรปู แบบ TeX commands คําสังใช้
่ งานแสดงดังตารางที่ 7.2

ตารางที่ 7.2 สมการคณิตศาสตร์ และ TeX commands ที่ Simulink สนับสนุน


สัญลักษณ์ TeX command สัญลักษณ์ TeX command
anxn a_nx^n an−1 a_{n-1}
xn−1 x^{n-1} a2x2 a_2x^2

รูป ที่ 7.37 - 7.38 แสดงการใช้บ ล็อ กคํา อธิบ ายเกี่ย วกับ สมการคณิ ต ศาสตร์ ที่ใ ช้ใ น
โปรแกรม MATLAB Simulink ในรูปแบบ TeX formatting commands

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


บทที่ 7 (Getting Started with MATLAB Simulink)
7–28
MATLAB Simulink Programming หนา 7–29

รูปที่ 7.37 การเขียนคําอธิบายสมการคณิตศาสตร์ และ TeX commands ที่ Simulink สนับสนุน

รูปที่ 7.38 การเขียนคําอธิบายสมการคณิตศาสตร์ และ TeX commands ที่ Simulink สนับสนุน

สรางเสนเชื่อมตอแนวทแยงมุม
ที่ผ่านมาได้นําเสนอการสร้างเส้นเชื่อมต่อระหว่างบล็อกเซตที่มเี ส้นเชื่อมต่อหักมุม 90
องศา Simulink ยังออกแบบให้ผใู้ ช้งานสามารถสร้างเส้นเชือ่ มทีม่ ลี กั ษณะเป็ นเส้นทแยงมุมได้ดว้ ย
เราไม่สามารถวาดเส้นเชือ่ มต่อแนวทแยงมุมได้ตงั ้ แต่ตอนเริม่ ต้น แต่การวาดเส้นเชื่อมต่อ
ระหว่างบล็อกเซตโปรแกรมจะกําหนดให้เป็ นแนวเส้นตรงและเปลี่ยนทิศทางแนวเส้นให้เป็ น 90

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


7–29
(Getting Started with MATLAB Simulink) บทที่ 7
หนา 7–30 MATLAB Simulink Programming

องศาโดยอัตโนมัติ หลังจากวาดเส้นแล้ว ผูใ้ ช้งานจึงจะสามารถปรับแนวเส้นใหม่ให้เป็ นเส้นทแยงได้


โดยการกดคีย์ “Shift” ค้า งไว้ แล้ว เลื่อ นเคอร์เ ซอร์เ มาส์ไ ปที่มุม หัก 90 องศาของเส้น เชื่อมต่อ
เคอร์เซอร์เมาส์จะเปลีย่ นเป็ นรูปวงกลม แสดงดังรูปที่ 7.39 ต่อจากนัน้ ให้ผใู้ ช้งานเลื่อนเมาส์ไปใน
ทิศทางซ้าย-ขวา เพือ่ ปรับความเอียงของแนวเส้น ซึง่ ผลลัพธ์ทไ่ี ด้จะเป็ นเส้นทแยงมุม ดังรูปข้างล่าง

กดคีย Shift คางไว

กดคีย Shift คางไว และ


ปรับเสนดวยการเลื่อนเมาส

กดคีย Shift คางไว และ


ปรับเสนดวยการเลื่อนเมาส

รูปที่ 7.39 สร้างเส้นเชือ่ มต่อแนวทแยงมุม

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


บทที่ 7 (Getting Started with MATLAB Simulink)
7–30
MATLAB Simulink Programming หนา 7–31

การจัดแนวตำแหนงของบล็อกเซต
เมื่อมีจํานวนบล็อกเซตมากขึน้ การจัดวางตําแหน่ งให้มคี วามสวยงามทุกๆ บล็อกเซตคง
จะเป็ นงานทีต่ อ้ งใช้เวลามากและไม่ใช่วธิ ที ส่ี ะดวกต่อการทํางานด้วย โปรแกรม Simulink มีฟังก์ชนั
การจัดวางตําแหน่งบล็อกเซตให้สะดวกขึน้ ด้วยการใช้งานฟั งก์ชนั “Align”
การจัดวางตําแหน่ งบล็อกเซตให้ง่ายขึน้ ทําได้โดยเลือกบล็อกเซต (highlights) ที่จะทํา
“Align” จะเห็นเป็ นเส้นกรอบสีเ่ หลีย่ มสีน้ําเงิน ซึง่ Simulink จะใช้บล็อกเซตทีไ่ ฮไลต์เป็ นข้อมูลอ้างอิง
สําหรับการจัดตําแหน่ งบล็อกเซต รูปที่ 7.40 เป็ นตัวอย่างการเลือกบล็อกอ้างอิงเพื่อทําการจัดวาง
ตําแหน่ง ต่อจากนัน้ คลิ กปุ่ มขวาของเมาส์ จะปรากฏรายการเมนูต่างๆ คลิกเลือก “Arrange” และ
“Align Top” ผลลัพธ์ทไ่ี ด้จะเป็ นการจัดตําแหน่งทุกๆ บล็อกเซตให้ชดิ ขอบบน แสดงดังรูปที่ 7.41

เลือกบล็อกเซต
คลิกปุมขวาเมาส

คลิกเลือก

รูปที่ 7.40 การใช้ฟังก์ชนั “Align” จัดแนวตําแหน่งของบล็อกเซต

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


7–31
(Getting Started with MATLAB Simulink) บทที่ 7
หนา 7–32 MATLAB Simulink Programming

รูปที่ 7.41 ผลลัพธ์การจัดแนวตําแหน่งของบล็อกเซตด้วยฟั งก์ชนั “Align”

การระบุพื้นที่ใหกับกลุมบล็อกเซต
นอกจากผูใ้ ช้งานจะสามารถเขียนข้อความใส่เข้าไปในบล็อกคําอธิบายเพื่ออธิบายหน้าที่
การทํางานของบล็อกเซต หรือรายละเอียดๆ อื่นของโปรแกรมบนหน้าต่างทํางานได้แล้ว ยังสามารถ
ระบุพน้ื ทีเ่ ป็ นกลุ่มบล็อกเซตได้ (Box and Label Areas of a Model) เพือ่ แยกแยะฟั งก์ชนั การทํางาน
ออกเป็ นกลุ่มๆ ติดป้ ายคําอธิบาย และสามารถย้ายกลุ่มบล็อกเซตได้งา่ ยขึน้ ซึง่ มีวธิ กี ารใช้งานดังนี้

การสร้างพืน้ ที่กลุ่มบล็อกเซต
1. เลือกพื้นที่บล็อกเซตเพื่อทําการจัดกลุ่มบล็อกเซต โดยใช้เมาส์ลากให้ครอบคลุม
บล็อกเซตทีต่ อ้ งการจัดเป็ นกลุ่มพืน้ ที่ แสดงดังรูปที่ 7.42
2. คลิ กที่ ไอคอนเมนู “…” (Action bar) และเลือกเมนูไอคอน “Create Area” จะได้
พืน้ ทีก่ ลุ่มบล็อกเซต (Box and Label Areas) แสดงดังรูปที่ 7.43
3. พิ มพ์ชื่อพืน ้ ที่กลุ่มบล็อกเซต (ถ้าหากผูใ้ ช้งานต้องการระบุชอ่ื บล็อกพืน้ ที)่

เลือกบล็อกเซต
รูปที่ 7.42 เลือกพืน้ ทีบ่ ล็อกเซตเพือ่ จัดเป็ นกลุ่มบล็อกเซต

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


บทที่ 7 (Getting Started with MATLAB Simulink)
7–32
MATLAB Simulink Programming หนา 7–33

คลิกไอคอนเมนู
คลิกไอคอนเมนู
รูปที่ 7.43 ใช้เมนูไอคอน “Create Area” เพือ่ สร้างพืน้ ทีก่ ลุ่มบล็อกเซต

พิมพชื่อบล็อกพื้นที่

รูปที่ 7.44 พิมพ์ชอ่ื พืน้ ทีก่ ลุม่ บล็อกเซต

รูปที่ 7.45 ผลลลัพธ์การสร้างพืน้ ทีก่ ลุ่มให้กบั บล็อกเซต

การเปลี่ยนสีพืน้ หลังให้กบั พืน้ ที่กลุ่มบล็อกเซต


1. คลิ กปุ่ มขวาเมาส์บนพืน ้ ที่กลุ่มบล็อกเซต จะมีรายการเมนูแสดงดังรูปที่ 7.46 คลิก
เลือกเมนู “Area Color” และเลือกสี “Green” (ตามต้องการ) จะได้ผลลัพธ์ดงั รูปที่ 7.47

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


7–33
(Getting Started with MATLAB Simulink) บทที่ 7
หนา 7–34 MATLAB Simulink Programming

คลิกเลือกสี

รูปที่ 7.46 เมนู “Area Color” สําหรับเปลีย่ นสีพน้ื หลังให้กบั พืน้ ทีก่ ลุ่มบล็อกเซต

รูปที่ 7.47 ผลลัพธ์การเปลีย่ นสีพน้ื หลัง สี “Green” ให้กบั พืน้ ทีก่ ลุ่มบล็อกเซต

การย้ายพืน้ ที่กลุ่มบล็อกเซต
พืน้ ทีข่ องกลุ่มบล็อกเซต นอกจากจะมีขอ้ ความติดป้ าย ใส่สพี น้ื หลังให้มคี วามเด่นชัด และ
แยกความแตกต่างออกเป็ นส่วนต่างๆ ได้แล้ว ผูใ้ ช้งานยังสามารถย้ายกลุ่มบล็อกเซตนัน้ ๆ ไปทัง้ ชุด
ได้ โดยไม่กระทบต่อการจัดวางรูปแบบบล็อกเซตและเส้นเชือ่ มต่อภายในกลุ่มบล็อก
การย้ายพื้นที่กลุ่มบล็อกเซตทําได้โดย เลื่อนเคอร์เซอร์เมาส์ไปบนพื้นที่ กลุ่มบล็อก
เคอร์เซอร์เมาส์จะเปลีย่ นเป็ นสัญลักษณ์ “Move” แล้ว คลิ กเมาส์ค้างไว้ ลากและวาง ไปปล่อยบน
หน้าต่างพืน้ ทีท่ าํ งานได้ตามต้องการ แสดงดังรูปที่ 7.48

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


บทที่ 7 (Getting Started with MATLAB Simulink)
7–34
MATLAB Simulink Programming หนา 7–35

รูปที่ 7.48 ผลการย้ายพืน้ ทีก่ ลุ่มบล็อก

การสรางระบบยอย (Sub-System)
เมือ่ เราออกแบบและเขียนโปรแกรมหรือโมเดลทีม่ จี าํ นวนบล็อกเซตมากขึน้ ความซับซ้อน
และความยุ่งเหยิงของเส้นเชื่อมต่อระหว่างบล็อกเซตจะเกิดขึน้ ตามมาด้วย Simulink มีวธิ กี ารจัดการ
กับปั ญหานี้ และทําให้ดงู า่ ยขึน้ โดยการจัดกลุ่มบล็อกเซตให้เป็ น “ระบบย่อย” (Sub-System)
Sub-System คือ ชุดการเชื่อมต่อของบล็อกเซตที่ถูกรวบรวมไว้เป็ นระบบเดียว ดังนัน้
โปรแกรมหนึ่งโปรแกรมหรือโมเดลหนึ่งโมเดล เราสามารถแยกออกเป็ นระบบย่อย หรือ Sub-System
แล้วเชื่อมต่อกันเป็ นระบบใหญ่ได้ โดยที่ Sub-System หนึ่งจะประกอบด้วย Input, Process block,
และ Output เหมือนบล็อกเซตคําสังทั ่ วไป

การสร้าง Sub-System ทําได้ดงั นี้


1. เลือกบล็อกเซตที่ จะสร้างเป็ นระบบ Sub-System โดยใช้เมาส์ลากให้ครอบคลุม
บล็อกเซตทีต่ อ้ งการ จะปรากฏกรอบสีเหลีย่ มสีน้ําเงินครอบคลุมพืน้ ทีบ่ ล็อกเซตนัน้ ๆ
แสดงดังรูปที่ 7.49 และจะปรากฏเมนูไอคอน “…” (Action bar)
2. คลิ กที่ไอคอนเมนู “…” แล้วเลือกเมนูไอคอน “Create Subsystem”

ต่อจากนัน้ จะได้บล็อกเซตใหม่ช่อื “Subsystem” ทีป่ ระกอบด้วย Input, Process block,


และ Output แสดงดังรูปที่ 7.50 ผู้ใช้งานสามารถเข้าไปดู (View) และแก้ไข (Edit) เส้นเชื่อมต่อ
บล็อกเซตภายใน Sub-System ได้โดยการ “ดับเบิ้ลคลิ ก” ทีบ่ ล็อกเซต Sub-System นัน้ ๆ โปรแกรม
จะเปิ ดโมเดลการเชือ่ มต่อภายในแสดงออกมาให้เห็น แสดงการใช้งานดังรูปที่ 7.51

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


7–35
(Getting Started with MATLAB Simulink) บทที่ 7
หนา 7–36 MATLAB Simulink Programming

คลิกไอคอนเมนู

คลิกไอคอนเมนู
รูปที่ 7.49 การสร้าง Sub-System

รูปที่ 7.50 ผลลัพธ์การสร้าง Sub-System จะได้บล็อกเซตใหม่ชอ่ื “Subsystem”

รูปที่ 7.51 เส้นเชือ่ มต่อและบล็อกเซตภายใน Sub-System

หมายเหตุ
การเปลี่ยนชื่อ Sub-System ดําเนินการเหมือนกับการเปลี่ยนชื่อบบล็อกเซตทัวไป
่ โดย
คลิกทีช่ อ่ื Sub-System นัน้ แล้ว ลบ-เพิม่ -พิมพ์ชอ่ื ใหม่ลงไปได้ แสดงดังรูปที่ 7.52

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


บทที่ 7 (Getting Started with MATLAB Simulink)
7–36
MATLAB Simulink Programming หนา 7–37

ส่วนการจัดการ/ตัง้ ค่าคุณสมบัตอิ ่นื ๆ ของระบบย่อย ได้แก่ การย้ายตําแหน่ ง การเปลีย่ น


ขนาดบล็อกเซต การเปลีย่ นสีบล็อกเซต และการเปลีย่ นสีพน้ื หลัง ผูใ้ ช้งานสามารถดําเนินการตัง้ ค่า
คุณสมบัตไิ ด้เหมือนกับการดําเนินการกับ “บล็อกเซตทัวไป ่ ”

พิมพชื่อ

รูปที่ 7.52 แสดงการเปลีย่ นชือ่ Sub-System เป็ น “Processing Subsystem”

การเปดระบบยอย Sub-System
การที่จะดูระบบภายในของ Sub-System โดยแสดงเป็ นลําดับ ชัน้ เข้าไปนัน้ เราจะใช้
หน้าต่าง “Model Browser” หรือใช้คาํ สังนํ
่ าทางบนหน้าต่างทํางาน “Simulink Editor”
การเปิ ดหน้าต่าง “Model Browser” ทําได้โดยคลิ กที่เมนูไอคอนคอนโทรล “Hide/Show
Model Browser” อยู่ที่ตําแหน่ งล่ างซ้ ายของหน้ าต่ างทํางาน แสดงดัง รูป ที่ 7.53 จะปรากฏ
หน้าต่างย่อยแยกออกภายในหน้าต่างทํางาน ดังรูปที่ 7.54 เมื่อผูใ้ ช้งานต้องการเปิ ด Sub-System
สามารถคลิกทีช่ อ่ื Sub-System นัน้ ในหน้าต่าง “Model Browser”

คลิกเมนูไอคอน
รูปที่ 7.53 คลิกเมนูไอคอน “Hide/Show Model Browser”
เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink
7–37
(Getting Started with MATLAB Simulink) บทที่ 7
หนา 7–38 MATLAB Simulink Programming

หนาตาง Model Browser

คลิกชื่อ Sub-System

รูปที่ 7.54 การเปิ ดหน้าต่างของโมเดล และ Sub-System

7.4 การรันโปรแกรมและพื้นฐานซิมมูเลชัน
เมื่อผูใ้ ช้งานสร้างโปรแกรมหรือโมเดลแล้ว สามารถทดสอบโปรแกรมหรือสังรั ่ นโปรแกรม
ได้ เพียงแค่ใช้เมาส์คลิกเมนูไอคอนคอนโทรล “Run” บนหน้าต่างทํางาน “Simulink Editor” แสดงดัง
รูปที่ 7.55
บางโมเดล ผูใ้ ช้งานอาจจะมีการนําบล็อกเซตทีเ่ กีย่ วข้องกับแหล่งกําเนิดสัญญาณ ฉะนัน้
เมือ่ มีการสังให้
่ รนั โปรแกรมจึงมีเรือ่ งของเวลาเข้ามาเกีย่ วข้องด้วย ก่อนทีจ่ ะเริม่ การจําลองหรือสังรั
่ น
โปรแกรมนัน้ จะต้องมีการกําหนด “เวลาเริ่ ม” และ “เวลาหยุด” ของการรันโปรแกรมด้วย

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


บทที่ 7 (Getting Started with MATLAB Simulink)
7–38
MATLAB Simulink Programming หนา 7–39

สาเหตุดงั กล่าวข้างต้น การรันโปรแกรมของ MATLAB Simulink จึงต้องทํางานตามเวลา


เริม่ ต้นและเวลาหยุดตามที่ผูใ้ ช้งานกําหนด ในขณะที่ Simulink กําลังรันโปรแกรมอยู่นัน้ ผูใ้ ช้งาน
สามารถหยุดโปรแกรมไว้ชวคราวได้ั่ (Programming Pause) เพื่อโต้ตอบหรือดูผลลัพธ์ในขณะนัน้
และสังให้
่ รนั โปรแกรมต่อไปได้อกี เหมือนกับการดีบกั เกอร์ไฟล์สคริปต์ (.m-files) ของโปรแกรม
MATLAB Desktop (IDE) ซึง่ ได้นําเสนอแล้วในบทที่ 2 “เริม่ ต้นกับ MATLAB Desktop (IDE)”
ถ้าหากมีขอ้ ผิดพลาดเกิดขึ้นในระหว่างการรันโปรแกรม Simulink จะหยุดการรันและ
หน้าต่างเครือ่ งมือการวินิจฉัยจะแสดงข้อความแจ้งเตือนขึน้ เพือ่ บอกถึงสาเหตุของข้อผิดพลาดนัน้

การควบคุมการรันโปรแกรมดวยปุมควบคุม
การเริม่ ต้น “รันโปรแกรม” ทําได้โดยการคลิกทีไ่ อคอนคอนโทรล “Run” ทีแ่ ถบเครื่องมือ
โมเดลบนหน้าต่างทํางาน “Simulink Editor” แสดงดังรูปที่ 7.55

ปุมสั่งรันโปรแกรม

รูปที่ 7.55 เมนูไอคอน “Run” สําหรับสังรั


่ นโปรแกรม

จากรูปที่ 7.55 เป็ นโมเดลหรือโปรแกรมสําหรับสร้างข้อมูลแบบ 1 เวกเตอร์คอลัมน์ โดย


เริม่ จากค่า 0 และเพิม่ ขึน้ ทีล่ ะ 1 ค่า (ตามค่าบล็อกเซต Constant) มีทงั ้ หมด 10 ตัวเลข (ในช่วงเวลา
10 วินาที) เมื่อคลิกไอคอนรันแล้ว โปรแกรมจะเริม่ สตาร์ทและประมวลผลคําสังไปจนกว่ ่ าจะมี
ข้อผิดพลาดใดๆ เกิดขึน้ หรือหยุดชัวขณะโดยผู่ ใ้ ช้งาน หรือหยุดเมือ่ ถึงเวลาทีก่ าํ หนด/ตัง้ ค่าไว้
ในขณะทีโ่ ปรแกรมกําลังประมวลผลอยู่นนั ้ จะมีแถบความคืบหน้าแสดงอยูท่ ด่ี า้ นล่างของ
หน้าต่างทํางาน และปุ่มเมนูไอคอน “Pause” จะปรากฏแทนทีไ่ อคอนคําสัง่ “Run” และไอคอนคําสัง่
หยุด “Stop” ทีอ่ ยูบ่ นแทบเครือ่ งมือหน้าต่างทํางานจะ Active ด้วย แสดงดังรูปที่ 7.56

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


7–39
(Getting Started with MATLAB Simulink) บทที่ 7
หนา 7–40 MATLAB Simulink Programming

ไอคอน Stop

ไอคอน Pause

Progress bar

รูปที่ 7.56 หน้าต่างทํางานเมือ่ สังรั


่ นโปรแกรมด้วยการคลิกปุ่ม “Run”

โมเดลหรือโปรแกรม GPL จากรูปที่ 7.56 การที่จะดูผลลัพธ์ของโปรแกรมนี้ สามารถดู


ผลลัพธ์ได้ 2 แบบ คือ 1) ดูในรูปของสัญญาณเทียบกับเวลาด้วยบล็อกเซต “Scope” และ 2) ดูขอ้ มูล
จากตัวแปร “ColVect” บนหน้าต่าง “Workspace: Variables” ภายใต้โปรแกรม MATLAB Desktop
(IDE) โดยถูกประมวลผลด้วยบล็อกเซต “To Workspace: ColVect” แสดงดังรูปที่ 7.57

รูปที่ 7.57 ข้อมูลภายในตัวแปร “ColVect” ทีป่ ระมวลผลได้จากบบล็อกเซต “To Workspace”

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


บทที่ 7 (Getting Started with MATLAB Simulink)
7–40
MATLAB Simulink Programming หนา 7–41

รูปที่ 7.58 ผลลัพธ์ทไ่ี ด้จากการประมวลแสดงโดยบล็อกเซต “Scope”

สังรั
่ นและหยุดโปรแกรมชัวคราวเป็
่ นสเต็ป
มีการสังรั
่ นโปรแกรมอีกอย่างหนึ่ง คือ “Step Forward” เป็ นการสังรั
่ นโปรแกรมให้ทํางาน
และหยุดชัวคราว
่ กล่าวคือ ประมวลผลและแสดงผลลัพธ์แล้วหยุดเป็ นสเต็ปจนกว่าจะครบตามเวลา
ที่กําหนดไว้ โดยคลิกที่เมนู ไอคอน “Step Forward” สังเกตผลลัพธ์ท่ไี ด้จากการประมวลผลด้วย
บล็อกเซต “Scope”, Progress bar ทีแ่ สดงความคืบหน้าและการเปลีย่ นแปลงทางเวลา ดังรูปที่ 7.59

ไอคอน Step Forward

Progress bar, Time

รูปที่ 7.59 ผลลัพธ์ทไ่ี ด้จากการสังให้


่ รนั โปรแกรมแบบ “Step Forward”

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


7–41
(Getting Started with MATLAB Simulink) บทที่ 7
หนา 7–42 MATLAB Simulink Programming

ไอคอน Step Forward

รูปที่ 7.60 ผลลัพธ์บนบล็อกเซต Scope ทีไ่ ด้จากการสังให้


่ รนั โปรแกรมแบบ “Step Forward”

การควบคุมการรันโปรแกรมดวยบล็อกเซต
การใช้บล็อกเซต “Stop”
ผูใ้ ช้งานสามารถหยุดการรันโปรแกรมช่วงใดช่วงหนึ่งระหว่างบล็อกเซตในโปรแกรมได้
โดยลากเส้นเชือ่ มต่อจุดนัน้ ไปยังบล็อกเซต “Stop” เมื่อสังรั่ นโปรแกรมและดําเนินการประมวลผลไป
ถึงจุดทีม่ บี ล็อกเซต Stop เชือ่ มต่ออยู่ โปรแกรมจะยุตกิ ารรันทันที แสดงดังรูปที่ 7.61 – 7.62

จากรูปที่ 7.61 การวางบล็อกเซต Stop และการเชื่อมต่อจุดตําแหน่ งนี้ เมื่อสังรั


่ นโปรแกรม
แล้ว บล็อ กเซต “Constant” จะดํา เนิ น การกํา หนดค่า คงที่เ ท่ า กับ 1 ต่ อ จากนัน้ จะหยุด การรัน
โปรแกรมทันที
ส่วนการวางบล็อกเซต Stop และเชือ่ มต่อในรูปที่ 7.62 นัน้ โปรแกรมจะหยุดรัน หลังจากที่
ประมวลผลกลุ่มพืน้ ทีบ่ ล็อกเซต “Create a Column vector” ผ่านไปแล้ว

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


บทที่ 7 (Getting Started with MATLAB Simulink)
7–42
MATLAB Simulink Programming หนา 7–43

รูปที่ 7.61 เชือ่ มต่อบล็อกเซต Stop

รูปที่ 7.62 เชือ่ มต่อบล็อกเซต Stop

หมายเหตุ
บล็อกเซต “Stop” จะทํางานเมื่ออินพุตบล็อกเซตมีสถานะไม่เป็ นศูนย์ (Nonzero) จากรูปที่
7.61 ถ้าผูใ้ ช้งานตัง้ ค่าบล็อกเซต “Constant”, Constant value: “0” โปรแกรมจะไม่หยุดทํางาน

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


7–43
(Getting Started with MATLAB Simulink) บทที่ 7
หนา 7–44 MATLAB Simulink Programming

การใช้บล็อกเซต “Assertion” สําหรับการหยุดชัวคราว ่ (Pause)


การหยุ ด ชัว่ คราว เราจะใช้บ ล็อ กเซต “Assertion” เพื่อ หยุ ด ชัว่ ขณะการรัน /จํ า ลอง
โปรแกรม โดยเมื่อมีสญ ั ญาณอินพุตไปยังบล็อกเซต มีค่าเป็ น “ศูนย์” จะทําให้โปรแกรมหยุดรอเพือ่
โต้ตอบกับผูใ้ ช้งาน (เหมือนการสังรั่ นโปรแกรมด้วยเมนูไอคอน “Step Forward”)
การนํ าบล็อกเซตไปใช้งานแสดงดังรูปที่ 7.63 ซึ่งจะต้องมีการตัง้ ค่าคุณสมบัตบิ ล็อกเซต
“Assertion” โดยดับเบิล้ คลิกทีบ่ ล็อกเซตและตัง้ ค่าคุณสมบัตบิ ล็อกเซต แสดงดังรูปที่ 7.64 โดยการ
ป้ อนคําสัง่ “set_param(bdroot,'SimulationCommand','pause'), disp(sprintf('\nSimulation paused.'))”
ลงในช่อง Text box “Simulation callback when assertion fails:” และ Uncheck ตัวเลือก “Stop
simulation when assertion fails”

รูปที่ 7.63 การนําบล็อกเซต “Assertion” มาเชือ่ มต่อเพือ่ หยุดการรันโปรแกรมชัวคราว


เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


บทที่ 7 (Getting Started with MATLAB Simulink)
7–44
MATLAB Simulink Programming หนา 7–45

ปอนคำสั่ง
Uncheck
รูปที่ 7.64 ตัง้ ค่าคุณสมบัตบิ ล็อกเซต “Assertion”

จากรูปที่ 7.63 เมื่อสังรั่ นโปรแกรมแล้ว โปรแกรมจะหยุดชัวคราว ่ เมื่อบล็อกเซต “Clock”


ทํางาน มี Output simulation ที่ 5 วินาที (ดังรูปที่ 7.65) เพราะว่า เอาต์พตุ ของบล็อกเซต “Clock” กับ
เอาต์ พุ ต ของบล็อ กเซต “Constant” มีค่ า เท่ า กัน คือ เท่ า กับ “5” ทํ า ให้เ อาต์ พุ ต ของบล็อ กเซต
“Relational Operator” มีส ญ ั ญาณเป็ น ศูน ย์ “0” บล็อ กเซต “Assertion” จึง ทํา งานและมีผ ลให้
โปรแกรมหยุดรอชัวคราว ่
เมื่อผูใ้ ช้งานคลิกทีไ่ อคอนคอนโทรล “Run” บล็อกเซต “Clock” จะทํางาน และมี Output
simulation เพิม่ ขึ้น และโปรแกรมจะหยุดรอชัวคราว ่ วนรอบอย่างนี้ไปเรื่อยๆ จนกว่าบล็อกเซต
“Clock” จะมี Output simulation 10 วินาที เท่ากับเวลาหยุดทีไ่ ด้ตงั ้ ค่าไว้ในการรันโปรแกรม

รูปที่ 7.65 โปรแกรมหยุดชัวคราว


่ เมือ่ บล็อกเซต “Clock” มี Output simulation 5 วินาที

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


7–45
(Getting Started with MATLAB Simulink) บทที่ 7
หนา 7–46 MATLAB Simulink Programming

รูปที่ 7.66 โปรแกรมหยุดชัวคราว


่ เมือ่ บล็อกเซต “Clock” มี Output simulation 6 วินาที

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


บทที่ 7 (Getting Started with MATLAB Simulink)
7–46
MATLAB Simulink Programming หนา 7–47

7.5 หนาตาง Simulink Editor (เพิ่มเติม)


สวนประกอบหนาตางโดยรวม Editor Layout
5.Model Browser 1.Title bar

2.Menu bar และ Toolbar

4.Explorer bar

3.Palette menu
รูปที่ 7.67 หน้าต่างทํางาน Simulink Editor

ส่ว นนี้ จ ะนํ า เสนอส่ว นประกอบและรายละเอีย ดของหน้ า ต่า งทํา งาน Simulink Editor
เพิม่ เติม จุดประสงค์เพื่อไม่ให้หวั ข้อส่วนประกอบของโปรแกรม MATLAB Simulink ทีผ่ ่านมาก่อน
หน้านัน้ มีเนื้อหาทีล่ ะเอียดและยาวมากเกินไป จึงได้นํามาเสนอและอธิบายไว้ในหัวข้อนี้ ซึง่ ถ้าหาก
อยากจะไปศึกษาหัวข้ออื่นๆ จะได้ขา้ มเนื้อหาตรงส่วนนี้ไป
ส่วนประกอบและรายละเอียดของหน้าต่างโปรแกรม Simulink Editor มีดงั นี้

1. Title bar ที่มุมบนซ้ายของแถบไตเติ้ลบาร์จะแสดงชื่อโมเดล หรือระบบย่อย (Sub-


System) ทีเ่ ปิ ดใช้งานอยูป่ ั จจุบนั บนหน้าต่างทํางาน Simulink Editor ดังรูปที่ 7.68

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


7–47
(Getting Started with MATLAB Simulink) บทที่ 7
หนา 7–48 MATLAB Simulink Programming

ชื่อโมเดล ชื่อระบบยอย

รูปที่ 7.68 Title bar

2. Menu bar และ Toolbar อยู่ส่วนบนของหน้ าต่างทํางาน Simulink Editor ผู้ใช้งาน


สามารถเข้าถึงคําสังต่ ่ างๆ เพือ่ จัดการและทํางานกับโมเดลได้ โดยใช้งานทีเ่ มนูหลักนี้
และยังมี Toobar ซึ่งเป็ นเมนู แบบปุ่มเป็ นไอคอนควบคุมการทํางานและคําสังต่ ่ างๆ
เพือ่ ให้ผใู้ ช้งานสามารถเข้าถึงคําสังต่
่ างๆ ได้รวดเร็วขึน้ โดยไม่ตอ้ งไปคลิกเลือกใช้งาน
ทีเ่ มนูหลักบ่อยๆ ได้แก่ Create a Simulink model, Open, Save, Run เป็ นต้น

รูปที่ 7.69 Menu bar และ Toolbar

3. Palette menu จะเป็ นแถบแนวตัง้ อยู่ดา้ นซ้ายของหน้าต่างทํางาน Simulink Editor ซึง่


เป็ นคําสังทํ
่ างานกับโมเดลทัวๆ
่ ไป ได้แก่ Zoom, Fit to View, Annotation, Area,
Model Browser เป็ นต้น แสดงดังรูปที่ 7.70

Fit to View
Annotation

Show/Hide Model Browser


รูปที่ 7.70 Palette menu
ชื่อโมเดล

ชื่อระบบยอย

รูปที่ 7.71 Explorer bar

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


บทที่ 7 (Getting Started with MATLAB Simulink)
7–48
MATLAB Simulink Programming หนา 7–49

4. Explorer bar แถบบาร์น้ีจะแสดงชื่อโมเดลและชื่อระบบย่อย (Sub-System) ที่มใี น


โมเดลทัง้ หมด ซึ่งจะแสดงเฉพาะชื่อโมเดลหหรือระบบย่อยที่เราเปิ ดใช้งานอยู่บน
หน้ าต่างทํางาน Simulink Editor หากผู้ใ ช้งานคลิกที่ช่ือโมเดลหรือระบบย่ อ ยนัน้
โปรแกรมจะเปิ ดโมเดลให้บนหน้าต่างทํางานทันที อีกอย่างหนึ่งการคลิกที่รูปลูกศร
จะแสดงชือ่ ระบบย่อยทัง้ หมดภายในโมเดลด้วย แสดงดังรูปที่ 7.71
5. Model Browser เป็ นหน้าต่างย่อยอยู่ภายในหน้าต่างทํางาน Simulink Editor เปิ ดได้
โดยคลิกทีไ่ อคอนคอนโทรล “Hide/Show Model Browser” (รูปลูกศร) บนแถบ “Palette
menu” ใช้สํา หรับ เปิ ด และปิ ด หน้ า ต่ า งย่อ ยนี้ ซึ่ง จะแสดงชื่อ โมเดลและระบบย่อ ย
ทัง้ หมดเป็ นรูปโครงสร้างต้นไม้ (tree-structured view) (การคลิกทีช่ ่อื โมเดลหรือระบบ
ย่อยในหน้ าต่างนี้ โปรแกรมจะแสดงโมเดลหรือระบบย่อยนัน้ บนหน้ าต่างทํางาน
เช่นเดียวกับการใช้งาน Explorer bar)

ชื่อโมเดล

ชื่อระบบยอย

รูปที่ 7.72 Model Browser

7.6 การใชงาน Simulation Stepper


หัวข้อทีผ่ ่านมาได้เรียนรูแ้ ละฝึกปฏิบตั กิ ารรันโปรแกรม และควบคุมการรันโปรแกรมด้วย
บล็อกเซตไปแล้ว ส่วนนี้จะเป็ นการตัง้ ค่า “Simulation Stepper” ซึ่งผูใ้ ช้งานสามารถเข้าถึงการรัน
โปรแกรมตามช่วงเวลาที่กําหนด ได้แก่ การรันโปรแกรมไป “ข้างหน้ า” และ “ย้อนหลัง” ตาม
ช่วงเวลาเฉพาะทีก่ ําหนดได้ เรียกว่า “Simulation Stepper” โดยแต่ละช่วงเวลา Simulation Stepper
จะแสดงข้อมูลการจําลองให้ผใู้ ช้งานวิเคราะห์ได้ดว้ ย การเข้าถึงการใช้งานและการตัง้ ค่าการใช้งาน
Simulation Stepper ทําได้โดยการคลิกทีช่ ุดไอคอนคอนโทรล แสดงดังรูปที่ 7.73

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


7–49
(Getting Started with MATLAB Simulink) บทที่ 7
หนา 7–50 MATLAB Simulink Programming

เมนูไอคอน Simulation Stepper

รูปที่ 7.73 เมนูไอคอนคอนโทรล Simulation Stepper

เมื่อ คลิก ที่ป่ ุ ม “Stepping Options” จะปรากฏหน้ า ต่า งตอบโต้ “Simulink Stepping
Options” แสดงดังรูปที่ 7.74 ทีห่ น้าต่างตอบโต้น้ี ให้คลิกเลือก Check box: Enable stepping back
เมื่อเลือก Stepping back เป็ น Enable แล้ว และเมื่อสังรั
่ นโปรแกรม ปุ่มไอคอนคอนโทรล “Stepping
Options” จะเปลี่ยนเป็ นปุ่มไอคอน “step back” แสดงดังรูปที่ 7.75 และเราสามารถใช้งานการรัน
โปรแกรมแบบย้อนหลังได้ ขณะทีท่ าํ งานโหมดนี้อยู่ สามารถเข้าถึงหน้าต่างตอบโต้เพือ่ ตัง้ ค่า Enable
stepping back ได้อกี ครัง้ โดยใช้เมนูหลัก Simulation และคลิกเลือก Stepping Options ดังรูปที่ 7.76

เลือก Check box

รูปที่ 7.74 หน้าต่างตอบโต้ Simulation Stepping Options


ปุมไอคอน step back

รูปที่ 7.75 ปุ่มไอคอน Stepping Options เปลีย่ นเป็ นปุ่มไอคอน step back เมือ่ รันโปรแกรม

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


บทที่ 7 (Getting Started with MATLAB Simulink)
7–50
MATLAB Simulink Programming หนา 7–51

คลิกเลือก

รูปที่ 7.76 ใช้เมนูหลักตัง้ ค่า Stepping Options ขณะรันโปรแกรม

สถานะการใชงาน Simulation Stepper


มีข้อ สัง เกตอยู่ท่ีห นึ่ ง ที่ค วรจะรู้แ ละทํา ความเข้า ใจเอาไว้ คือ แถบแสดงสถานะที่อยู่
ด้านล่างขวาของหน้าต่างทํางาน Simulink Editor จะบอกเวลาทีใ่ ช้ในการรันโปรแกรมทีเ่ สร็จสมบูรณ์
ครัง้ ล่าสุด หรือในขณะที่การรันโปรแกรมกําลังทํางานอยู่ จะแสดงข้อมูลทางเวลา และแสดงความ
คืบหน้าของการรันโปรแกรม แถบแสดงผลนี้ จะแสดงเป็ นค่าประมาณการ เนื่องจากแถบสถานะ
จะอัปเดตข้อมูลเฉพาะเวลาทีผ่ ใู้ ช้งานระบุเท่านัน้ จะไม่สามารถแสดงข้อมูลได้ทุกช่วงเวลาของการ
รันโปรแกรม เมื่อเราหยุดการรันโปรแกรมขณะใดขณะหนึ่ ง โปรแกรมจะจับเวลาที่ประมวลผล
ขณะนัน้ ล่าสุด แล้วจึงแสดงผลลัพธ์ให้ผใู้ ช้งานทราบ

รูปที่ 7.77 แถบสถานะ Simulation Stepper

จากรู ป ที่ 7.77 เมื่อ รัน โปรแกรมและมีก ารหยุ ด รัน ชัว่ คราว ที่แ ถบสถานะเวลาจะมี
เครื่องหมายดอกจัน (*) ซึ่งหมายถึงโปรแกรมได้ผ่านการประมวลผลและตรวจสอบขัน้ สูงของตัว
“Solver” ไปแล้วตามเวลาทีแ่ สดง ซึง่ เป็ นเวลาทีร่ นั โปรแกรมขณะใดขณะหนึ่งทีเ่ สร็จสมบูรณ์ล่าสุด

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


7–51
(Getting Started with MATLAB Simulink) บทที่ 7
หนา 7–52 MATLAB Simulink Programming

การปรับตั้งพารามิเตอร
ในขณะทีใ่ ช้ Simulation Stepper เมื่อการรันโปรแกรมถูกสังให้
่ หยุดชัวคราว
่ เราสามารถ
เปลี่ยนแปลงและปรับตัง้ ค่าพารามิเตอร์ได้ รวมทัง้ การตัง้ ค่า “Solver” บางอย่างได้ อย่างไรก็ตาม
การเปลี่ยนแปลงและปรับตัง้ ค่าพารามิเตอร์ขณะรันโปรแกรมแบบชัวคราว ่ จะมีผลกระทบต่อตัว
“Solver” เมื่อสังรั
่ นโปรแกรมในสเต็ปช่วงเวลาถัดไป ผลลัพธ์การรันโปรแกรมทีไ่ ด้ อาจจะไม่ตรงกับ
ผลลัพธ์การรันโปรแกรมก่อนหน้าทีจ่ ะมีการปรับตัง้ ค่าพารามิเตอร์ หรือได้ผลลัพธ์ทไ่ี ม่คลาดคิดได้

ต่อไปนี้จะแสดงตัวอย่างการรันโปรแกรมแบบสเต็ปไปข้างหน้าและย้อนหลัง (step forward


and back) โดยใช้โมเดล “van der Pol Equation” ของ MATLAB Simulink ซึ่งเป็ นสมการเกี่ยวกับ
การเกิดพฤติกรรมอลวน การศึกษาพฤติกรรมนี้สามารถทําได้โดยเปลีย่ นแปลงค่าพารามิเตอร์ µ
ในสมการแวนเดอร์โพล ซึ่งมีผลทําให้เกิดการม้วนอลวนขึน้ โมเดล “van der Pol Equation” แสดง
ดังรูปที่ 7.78
การทดลองนี้ ถ้าผูใ้ ช้งานจะสร้างโมเดลขึน้ มาเอง สามารถสร้างได้ตามรูปที่ 7.78 หรือจะ
่ ด โมเดลของ MATLAB ก็ไ ด้ โดยพิม พ์คํา สัง่ “vdp” บนหน้ า ต่ า ง “Command
เปิ ด ด้ว ยคํา สังเปิ
window” ของโปรแกรม MATLAB Desktop (IDE)

รูปที่ 7.78 โมเดล van der Pol Equation

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


บทที่ 7 (Getting Started with MATLAB Simulink)
7–52
MATLAB Simulink Programming หนา 7–53

รูปที่ 7.79 ผลลัพธ์บน Scope เมือ่ คลิกปุ่มรัน Step Forward จํานวน 30 สเต็ป

ที่หน้าต่างทํางาน Simulink Editor คลิกทีป่ ่ ุมไคอนคอนโทรล “Stepping Options”


เพือ่ เปิ ดหน้าต่างตอบโต้ “Simulation Stepping Options” ทีห่ น้าต่างนี้ ทําการคลิกเลือกที่ Text box:
Enable stepping back แสดงดังรูปที่ 7.74 ต่อจากนัน้ คลิกปุ่ม “OK”
เมื่อตัง้ ค่าพร้อมแล้ว คลิกปุ่มไอคอนคอนโทรล “Step Forward” เพือ่ รันโปรแกรมแบบ
ที่ละสเต็ป ดังที่ได้กล่าวแล้ว เมื่อสังรั
่ นโปรแกรมแบบสเต็ปแล้ว ตัวโปรแกรมจะหยุดชัวคราวและ่
แสดงข้อมูลผลลัพธ์การรันในสภาวะขณะนัน้ จากรูปที่ 7.79 แสดงผลลัพธ์และพล็อตกราฟการรัน
แบบ “Step Forward” ซึง่ ได้คลิกปุ่มไป 30 ครัง้ ดังรูปบนหน้าต่าง Scope

รูปที่ 7.80 ผลลัพธ์บน Scope เมือ่ คลิกปุ่มรัน Step Back จํานวน 3 สเต็ป

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


7–53
(Getting Started with MATLAB Simulink) บทที่ 7
หนา 7–54 MATLAB Simulink Programming

ผูใ้ ช้งานทดลองคลิกปุ่มรันแบบ “Step Back” และดูผลลัพธ์ทห่ี น้าต่าง Scope จะพบว่า


โปรแกรมจะพล็อตกราฟแบบรีรนั ถอยหลังและแสดงข้อมูลทางเวลาย้อนกลับไป รูปที่ 7.80 แสดง
ผลลัพธ์บนหน้าต่าง Scope เมือ่ คลิกปุ่มรันแบบ “Step Back” จํานวน 3 ครัง้

7.7 การใชงาน Conditional Breakpoints


การตรวจสอบความผิด พลาดของโปรแกรมอีก อย่ า งหนึ่ ง นอกจากจะอาศัย ระบบ
ตรวจสอบข้อผิดพลาดขณะเขียนโปรแกรม และการตรวจสอบขณะรันโปรแกรมเป็ นสเต็ปแล้วบน
หน้ าต่างทํางานแล้ว โปรแกรม Simulink ยังมีตวั Conditional Breakpoints เหมือนกับ MATLAB
Editor ใช้สําหรับเป็ นเงื่อนไขไว้เ พื่อหยุด พัก การรันโปรแกรมเมื่อเราต้อ งการตรวจสอบผลลัพ ธ์
ตัวโปรแกรม Simulation Stepper จะให้สทิ ธิ ์เราเพื่อตัง้ ค่า “เบรกพอยต์” สําหรับสัญญาณที่เป็ น
แบบสเกลาร์เท่านัน้
เราได้เรียนรูแ้ ละมีโจทย์สําหรับฝึ กปฏิบตั กิ ารใช้งานเบรกพอยต์ การเขียนโค้ดแบบไฟล์
สคริปต์ (.m-files) แล้วในบทที่ 2 ส่วนลักษณะของเบรกพอยต์บนหน้าต่างทํางาน Simulink Editor
มีรปู ลักษณะแสดงดังตารางที่ 7.3

ตารางที่ 7.3 ลักษณะเบรกพอยต์บนหน้าต่างทํางาน


ลักษณะเบรก คําอธิ บาย
พอยต์
Enabled breakpoint จะปรากฏขึน้ เมือ่ เพิม่ เบรกพอยต์
Breakpoint hit จะปรากฏขึน้ เมือ่ รันโปรแกรมถูกต้องตามเงือ่ นไขทีต่ งั ้ ค่าไว้
Disabled breakpoint จะปรากฏขึน้ เมือ่ ปิ ดเบรกพอยต์

เมื่อเราทําการตรวจสอบโปรแกรมโดยใช้ Conditional Breakpoints พึงทราบถึงเงื่อนไข


ของการนําไปใช้งาน ดังนี้
 เมือ่ ทําการรันโปรแกรมมาถึงจุด Breakpoint การรันโปรแรกมจะยังไม่หยุดลงทันที
หากว่าบล็อกเซตนัน้ ยังคงประมวลผลอยู่
 การเพิม่ Breakpoint สามารถเพิม่ ได้หลายจุด แต่จะเพิม่ ได้บนเส้นเชือ่ มต่อทีต่ ่อไปยัง
บล็อกเซตหรือเส้นสัญญาณเท่านัน้

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


บทที่ 7 (Getting Started with MATLAB Simulink)
7–54
MATLAB Simulink Programming หนา 7–55

การเพิ่มจุดและการแกไขจุด Conditional Breakpoints


ในโมเดลบนหน้าต่างทํางาน ผูใ้ ช้งานคลิ กเลือกเส้นเชื่อมต่อทีจ่ ะเพิม่ จุด Breakpoint จะ
เห็นเป็ นเส้นหนาสีน้ําเงิน ต่อจากนัน้ คลิ กขวาที่เส้นเชื่อมนัน้ (รูปที่ 7.81) จะปรากฏหน้าต่างเมนู
ตอบโต้ แล้วคลิ กเลือกเมนู “Add Conditional Breakpoints” จะปรากฏหน้ าต่างตอบโต้ “Add
Conditional Breakpoints” แสดงดังรูปที่ 7.82

เลือกเสนเชื่อมตอ และ
คลิกปุมขวา

คลิกเลือก

รูปที่ 7.81 เพิม่ Breakpoint จากเมนูตอบโต้

คลิกเลือก

ใสคา
รูปที่ 7.82 หน้าต่างตอบโต้สาํ หรับกําหนดเงือ่ นไขการทํางานให้กบั จุด Breakpoint

ที่ห น้ า ต่ า ง “Add Conditional Breakpoints” ( รูป ที่ 7.82) จะต้อ งตัง้ ค่ า เงื่อ นไขให้ก ับ
Breakpoint เพือ่ ให้โปรแกรมหยุดรันเมื่อเงื่อนไขเป็ นจริ ง โดยคลิกเลือกเงือ่ นไขที่ “drop-down list”
และใส่ค่าคงทีท่ ช่ี ่อง “Text box” (ตัวอย่างการกําหนดเงื่อนไขให้โปรแกรมหยุด มากกว่า หรือ น้ อย
กว่า “0” ดังรูปที่ 7.83) ต่อจากนัน้ คลิกปุ่ม “OK” จะปรากฏสัญลักษณ์ Enabled breakpoint ปุ่มสีแดง
บนหน้าต่างทํางาน ดังรูปที่ 7.84

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


7–55
(Getting Started with MATLAB Simulink) บทที่ 7
หนา 7–56 MATLAB Simulink Programming

รูปที่ 7.83 หน้าต่างตอบโต้ Conditional Breakpoints List แสดงเงือ่ นไขทีก่ าํ หนดและการตัง้ ค่าคงที่

สัญลักษณ Breakpoint

รูปที่ 7.84 สัญลักษณ์ Enabled breakpoint ปุ่มสีแดงบนหน้าต่างทํางาน

ถ้าต้องการดูหรือแก้ไขเงือ่ นไขของ Breakpoint ทําได้โดยคลิกทีป่ ่ ุม Breakpoint ปุ่มสีแดง


จะปรากฏหน้าต่าง “Conditional Breakpoints List” แสดงดังรูปที่ 7.83

ขอจำกัด Conditional Breakpoints


 ดังทีก่ ล่าวแล้ว Conditional Breakpoints จะกําหนดขึน้ ได้บนเส้นเชือ่ มต่อ หรือ
เส้นสัญญาณทีเ่ ป็ นข้อมูลแบบ Scalar ได้แก่ Double, Single, Integer, และ Boolean
 เราไม่สามารถตัง้ ค่า Breakpoints บนสัญญาณทีไ่ ม่ใช่ Simulink ระหว่างบล็อกเซต
เช่น สัญญาณไปยัง Simscape หรือ SimEvents
 จํากัดการแสดงผลค่าพอร์ต (“Port Value Display Limitations”)

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


บทที่ 7 (Getting Started with MATLAB Simulink)
7–56
MATLAB Simulink Programming หนา 7–57

แสดงขอมูลที่จุด Conditional Breakpoints


ขณะใช้งาน Breakpoints เราสามารถแสดงค่าข้อมูลที่เส้นเชื่อมต่อผ่านจุด Breakpoints
ก่อนและหลังได้ โดยคลิ กที่เส้นเชื่อมต่อที่มีจดุ Breakpoints จะเป็ นเส้นหนาสีน้ําเงิน แล้วคลิ กปุ่ ม
ขวาเมาส์จะปรากฏหน้าต่างเมนูตอบโต้ และคลิ กเลือกเมนู “Show Value Label of Selected Port”
จะแสดงข้อมูล ณ บริเวณเส้นเชือ่ มต่อนัน้ แสดงดังรูปที่ 7.85

เลือกเสนเชื่อมตอ และ
คลิกปุมขวา

คลิกเลือก

รูปที่ 7.85 การแสดงค่าข้อมูลบนเส้นเชือ่ มต่อจากเมนูตอบโต้

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


7–57
(Getting Started with MATLAB Simulink) บทที่ 7
หนา 7–58 MATLAB Simulink Programming

รูปที่ 7.86 ข้อมูลทีเ่ ส้นเชือ่ มต่อก่อนจุด Breakpoint เมือ่ ยังไม่สงรั


ั ่ นโปรแกรม

รูปที่ 7.87 ข้อมูลทีเ่ ส้นเชือ่ มต่อก่อนจุด Breakpoint เมือ่ สังรั


่ นโปรแกรม ณ สเต็ปเวลาหนึ่ง

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


บทที่ 7 (Getting Started with MATLAB Simulink)
7–58
MATLAB Simulink Programming หนา 7–59

7.8 การเรียกใชงานคำสั่งดวยคียดว นและเมาส


เนื้อหาในส่วนนี้จะสรุปเป็ นตารางการใช้คยี ด์ ว่ น และการใช้งานเมาส์รว่ มกับคียบ์ อร์ด เพือ่
เรียกใช้งานคําสังต่
่ างๆ สําหรับการจัดการโมเดลบนหน้าต่างทํางาน ซึง่ จะทําให้เราทํางานและเข้าถึง
คําสังได้
่ เร็วขึน้ ไม่ตอ้ งเรียกใช้คําสังจากเมนู
่ หลักหรือการคลิกทีไ่ อคอนคอนโทรลบนแถบเครื่องมือ
เช่น การกดคีย์ “Ctrl + S” เป็ นการใช้คาํ สังบั
่ นทึกไฟล์โมเดล เป็ นต้น

คียดวนสำหรับมุมมอง/วิวโมเดล
ตารางที่ 7.4 คียด์ ว่ นสําหรับมุมมอง/วิวโมเดล
คําสัง่ คียด์ ่วน/เมาส์
Zoom in Ctrl + “+”
Zoom out Ctrl + “-”
Zoom to normal (100%) Alt + “1”
Fit diagram to screen Spacebar
Pan 1. ใช้เมาส์ คลิกปุ่ม “scroll wheel” ค้างไว้พร้อมเลื่อนเคอร์เซอร์
เมาส์ไปมา (เคอร์เซอร์เมาส์เปลีย่ นเป็ นรูปมือ, Link select)
2. กดคีย์ Spacebar ค้างไว้ พร้อมกับคลิกปุ่มซ้ายเมาส์และเลื่อน
เคอร์เซอร์ไปมา (เคอร์เซอร์เมาส์เปลีย่ นเป็ นรูปมือ, Link select)
Print Ctrl + “P”

คียดวนสำหรับแกไขโมเดล
ตารางที่ 7.5 คียด์ ว่ นสําหรับแก้ไขโมเดล
คําสัง่ คียด์ ่วน
Open model Ctrl + “O”
Create a new model Ctrl + “N”
Select all blocks Ctrl + “A”
Cut Ctrl + “X”
Delete selection Delete หรือ Backspace
Paste Ctrl + “V”
Move selection Arrow keys
Undo Ctrl + “Z”
Redo Ctrl + “Y”
Find block Ctrl + “F”

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


7–59
(Getting Started with MATLAB Simulink) บทที่ 7
หนา 7–60 MATLAB Simulink Programming

Open Model Explorer Ctrl + “H”


Open Configuration Parameters dialog box Ctrl + “E”
Refresh Model blocks Ctrl + “K”
Update diagram Ctrl + “D”
Save Ctrl + “S”
Close model Ctrl + “W”

คียดวนสำหรับจัดการโมเดล
ตารางที่ 7.6 คียด์ ว่ นสําหรับการจัดการโมเดล
คําสัง่ คียด์ ่วน/เมาส์
Select multiple blocks Shift + คลิกปุ่มซ้ายเมาส์
Rotate block clockwise Ctrl + “R”
Rotate block counterclockwise Ctrl + Shift + “R”
Flip block Ctrl + “I”
Duplicate block Ctrl + “C”, แล้วกดคีย์ Ctrl + “V”
Disconnect block Shift + ใช้เมาส์คลิกทีบ่ ล็อกแล้วลากออก
Create subsystem from selected blocks Ctrl + “G”
Comment through a block เลือกบล็อก Comment และ Ctrl + Shift + “Y”
Uncomment Ctrl + Shift + “X”
Go to library block Ctrl + “L”

คียดวนสำหรับ Simulation และ Code Generation


ตารางที่ 7.7 คียด์ ว่ นสําหรับการรันโปรแกรม
คําสัง่ คียด์ ่วน
Build RTW target Ctrl + “B”
Open Configuration Parameters dialog box Ctrl + “E”
Start simulation Ctrl + “T”
Stop simulation Ctrl + Shift + “T”

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


บทที่ 7 (Getting Started with MATLAB Simulink)
7–60
MATLAB Simulink Programming หนา 7–61

คียดวนสำหรับ Debugging และ Breakpoints


ตารางที่ 7.8 คียด์ ว่ นสําหรับ Debugging และ Breakpoints
คําสัง่ คียด์ ่วน
Step F10
Step in F11
Step out Shift + F11
Run F5

7.9 การอัพเดทคุณลักษณะของไดอะแกรม
การเขียนโปรแกรมแบบการเขียนโค้ด ตามปกติผเู้ ขียนจะต้องทําการประกาศชื่อตัวแปร
และประเภทของตัวแปร แต่การเขียนโปรแกรมแบบรูปภาพกราฟิ กด้วย Simulink นี้ จากหัวข้อที่
ผ่านๆ มา จะเห็นว่าผูเ้ ขียนโปรแกรมมีความสะดวกมาก ไม่ตอ้ งประกาศตัวแปรและกําหนดชนิดของ
ตัวแปร โปรแกรมจะกําหนดคุณสมบัตขิ องบล็อกเซตให้มคี วามเหมาะสมโดยอัตโนมัติ มีเพียงแต่การ
กําหนดค่าทีใ่ ห้กบั บล็อกเซตบางตัวเท่านัน้
เมื่อมีการเขียนโปรแกรมและได้ใช้บล็อกเซตจํานวนมาก ผูเ้ ขียนโปรแกรมอาจจะไม่ได้ใส่
ใจหรือละเลยในรายละเอียดการกําหนดคุณสมบัตหิ รือคุณลักษณะต่างๆ (Attributes) ของบล็อกเซต
ได้แก่ ชนิดของข้อมูลและประเภทของสัญญาณ เป็ นต้น ได้
โปรแกรม MATLAB Simulink จะพยายามกําหนดค่าทีเ่ หมาะสมทีส่ ุดให้กบั บล็อกเซตทีเ่ รา
ไม่ได้กําหนดคุณลักษณะให้บล็อกเซต และ MATLAB จะแสดงค่าคุณสมบัตบิ ล็อกเซตนัน้ ให้ดว้ ย ถ้า
หากว่ า MATLAB ไม่ ส ามารถกํ า หนดค่ า คุ ณ สมบัติใ ห้ ไ ด้ มัน จะหยุ ด การปรับ ปรุ ง และแสดง
ข้อผิดพลาดทางหน้าต่างกล่องโต้ตอบให้ผใู้ ช้งานทราบ
กระบวนการทัง้ หมดทีก่ ล่าวมาข้างต้น ซึง่ โปรแกรม MATLAB Simulink ได้ดําเนินการนัน้
เรียกว่า “การอัพเดตไดอะแกรม” (Updating the diagram)
การอัพเดทไดอะแกรมนี้ โปรแกรมจะดําเนินการให้เราตัง้ แต่ตอนเริม่ เขียนโมเดลเป็ น
บล็อกไดอะแกรมขึน้ และจะดําเนินการปรับปรุงพร้อมเปลี่ยนแปลงคุณสมบัตไิ ดอะแกรมให้ล่าสุด
เมือ่ ผูใ้ ช้งานสังรั
่ นโปรแกรมหรือทําการ Simulation
ฉะนัน้ เมื่อเราเริม่ ต้นเขียนโปรแกรม เราสามารถเรียกใช้ MATLAB Simulink ให้ทําการ
อัพเดทไดอะแกรมได้ทุกเมื่อ การอัพเดทไดอะแกรมจะช่วยเราโดยมันจะคอยเตือนและแก้ไขปั ญหา
ทีอ่ าจจะเกิดขึน้ ยังระบุจุดทีเ่ ป็ นปั ญหาให้ดว้ ยในขณะทีเ่ รากําลังสร้างโมเดลหรือเขียนโปรแกรมอยู่
ทําให้เราสามารถทราบปั ญหาแล้วแก้ไขงานได้อย่างมีประสิทธิภาพยิง่ ขึน้ ด้วย
หากผู้ใช้งานต้องการใช้งานกระบวนการ “อัพเดทไดอะแกรม” ในเวลาที่กําลังเขียน
โปรแกรม Simulink อยูใ่ ห้ดาํ เนินการดังนี้

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


7–61
(Getting Started with MATLAB Simulink) บทที่ 7
หนา 7–62 MATLAB Simulink Programming

 เรียกใช้เมนู “Update Diagram” โดยไปทีห


่ น้าต่างทํางาน “Simulink Editor” คลิกเลือก
เมนู Simulation และคลิกเลือก Update Diagram แสดงดังรูปที่ 7.88
 ใช้คยี ด์ ว่ น ทีห
่ น้าต่างทํางาน “Simulink Editor” กดคีย์ Ctrl + D

คลิกเลือก

รูปที่ 7.88 การเรียกใช้งานฟั งก์ชนั อัพเดทไดอะแกรม

มีตวั อย่างการใช้งานการอัพเดทไดอะแกรมและการดําเนินการการอัพเดทไดอะแกรมของ
โปรแกรม MATLAB Simulink มานํ าเสนอและแสดงผลที่เกิดขึ้น ผู้ใช้งานสามารถฝึ กปฏิบตั เิ พื่อดู
ผลลัพธ์ได้ดงั นี้
1) สร้างโมเดลขึ้นมา 1 โมเดล โดยทําการเลือกบล็อกเซตและสร้างเชื่อมต่อเป็ นโมเดล
หรือบล็อกไดอะแกรม แสดงดังรูปที่ 7.89

รูปที่ 7.89 โมเดลหรือบล็อกไดอะแกรมสําหรับทดสอบการการอัพเดทไดอะแกรม

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


บทที่ 7 (Getting Started with MATLAB Simulink)
7–62
MATLAB Simulink Programming หนา 7–63

2) แสดงข้อมูลคุณสมบัติของบล็อกเซต โดยจะแสดงเกี่ยวกับประเภทของข้อมูลหลัง
บล็อกเซต “Constant” และ “Gain” บนเส้นเชื่อมต่อระหว่างบล็อกเซต ซึ่ง MATLAB จะกําหนด
คุณสมบัตใิ ห้โดยอัตโนมัตเิ ป็ นประเภท Double ทัง้ สองบล็อกเซต ซึ่งจะใช้เมนู ท่หี น้าต่างทํางาน
Simulink Editor คลิกเลือกเมนเมนู Display > Signals & Ports > Port Data Types แสดงการใช้งาน
เมนูดงั รูปที่ 7.90

คลิกเลือก

รูปที่ 7.90 ใช้งานฟั งก์ชนั Port Data Types

ต่อจากนัน้ โมเดลหรือบล็อกไดอะแกรมจะแสดงผลลัพธ์ปรากฏชนิดข้อมูลของบล็อกเซต
ทัง้ สองบล็อกเซตเป็ นข้อมูลชนิด Double ดังรูปที่ 7.91

รูปที่ 7.91 การแสดงผลลัพธ์ชนิดข้อมูลบล็อกเซตด้วยฟั งก์ชนั Port Data Types

3) เปลี่ยนชนิ ดข้อมูลเอาท์พท
ุ ของบล็อกเซต “Constant” โดยดับเบิล้ คลิกทีบ่ ล็อกเซต
“Constant” จะปรากฏหน้าต่างตอบโต้ “Block Parameters: Constant” (ดังรูปที่ 7.92) ทําการเปลีย่ น
Output data type ของบล็อกเซตเป็ นแบบ Single แสดงดังรูปที่ 7.92

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


7–63
(Getting Started with MATLAB Simulink) บทที่ 7
หนา 7–64 MATLAB Simulink Programming

คลิกแท็บ

คลิกเลือก

คลิกปุม

รูปที่ 7.92 การเปลีย่ น Output data type ของบล็อกเซต Constant ให้เป็ นแบบ Single

เมือ่ ทําการเปลีย่ นแปลงชนิดข้อมูลเอาท์พทุ ของบล็อกเซตแล้ว ให้สงั เกตทีห่ น้าต่างทํางาน


Simulink Editor จะพบว่า ข้อมูล Output data type ของบล็อกเซต Constant จะไม่แสดงข้อมูลที่ได้
อัพเดทข้อมูลการเปลีย่ นแปลงไปเป็ นแบบ Single ตามทีเ่ ราได้กําหนดคุณสมบัตใิ ห้กบั บล็อกเซตไป
แล้ว ถ้าหากต้องการอัพเดทข้อมูลของบล็อกไดอะแกรมให้ล่าสุด จะต้องดําเนินการในขัน้ ตอนที่ 4

4) ใช้งานฟั งก์ชน ั อัพเดทไดอะแกรม โดยกดคียด์ ่วน Ctrl + D ไดอะแกรมหรือโมเดลจะ


ถูกอัพเดทให้มขี อ้ มูลล่าสุด แสดงผลลัพธ์การเรียกใช้งานฟั งก์ชนั ดังรูปที่ 7.93

รูปที่ 7.93 ผลลัพธ์การใช้งานฟั งก์ชนั อัพเดทไดอะแกรม


เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink
บทที่ 7 (Getting Started with MATLAB Simulink)
7–64
MATLAB Simulink Programming หนา 7–65

จากตัวอย่างในรูปที่ 7.93 Simulink จะปรับปรุงและแสดงชนิดข้อมูลของบล็อกเซต Gain


โดยอัตโนมัติ โดยทีเ่ ราไม่ได้ระบุชนิดข้อมูลของบล็อกเซตนี้ Simulink ทําการอัพเดทไดอะแกรมให้
ชนิดข้อมูลเป็ นแบบ Single เพราะว่า อินพุทบล็อกเซต Gain ถูกระบุเป็ นแบบ Single โปรแกรม
Simulink จึงอนุ มานจากชนิดข้อมูลบนเส้นเชื่อมต่อหลังบล็อกเซต Constant ระบุให้เป็ นชนิดข้อมูล
กับบล็อกเซตทัง้ หมด

7.10 การพิมพโมเดลเบื้องตน
เนื้อหาในส่วนนี้จะนําเสนอตัวอย่างการพิมพ์เบื้องต้น ซึ่งเป็ นโหมดการพิมพ์ท่ี MATLAB
ตัง้ ไว้เ ป็ น ค่า มาตรฐาน ซึ่ง ผู้ใ ช้ง านไม่ ต้อ งไปปรับ ตัง้ ค่า อะไรให้วุ่น วายมากนัก เพีย งแค่ โ หมด
มาตรฐานก็เพียงพอต่อการนําไปใช้งานจัดทําเป็ นรีพอร์ตได้แล้ว โดยจะนําโมเดล vdp (van der Pol
Equation) มาเป็ นโมเดลตัวอย่างในการใช้งาน ซึ่งผ่านตาผูอ้ ่านในหัวข้อทีผ่ ่านมา และวิธกี ารพิมพ์
ระบบย่อย (Sub-System) ด้วยโมเดล Engine Timing Model with Closed-Loop Control มีวธิ กี ารดังนี้
1) เปิ ดโมเดล vdp โดยพิมพ์คําสัง่ “vdp” บนหน้ าต่าง Command window ต่อจากนัน้
MATLAB จะเปิ ดโมเดล vdp บนหน้าต่างทํางาน Simulink Editor แสดงดังรูปที่ 7.94

รูปที่ 7.94 โมเดล/บล็อกไดอะแกรม vdp: van der Pol Equation


เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink
7–65
(Getting Started with MATLAB Simulink) บทที่ 7
หนา 7–66 MATLAB Simulink Programming

2) สังพิ
่ มพ์โมเดล ทีห่ น้าต่างทํางาน Simulink Editor คลิกเลือกเมนู File > Print > Print
หรือใช้คยี ์ด่วน Ctrl + P จะปรากฏหน้ าต่างตอบโต้ “Print Model” (ดังรูปที่ 7.95) การกําหนดค่า
สําหรับการพิมพ์จะใช้ค่ามาตรฐานที่โปรแกรม MATLAB กําหนดไว้แล้วดังรูป แต่ในตัวอย่างนี้จะ
ทดลองพิมพ์โมเดลออกเป็ นไฟล์ .pdf ซึ่งสามารถดูผลลัพธ์รูปบล็อกไดอะแกรมโดยไม่ต้องสังงาน ่
ออกทางเครื่องพิมพ์ ทําการคลิกเลือกที่ CheckBox “Print to File” และคลิกปุ่ม “...” เพือ่ ตัง้ ชื่อไฟล์
ทีจ่ ะบันทึก ต่อจากนัน้ คลิกทีป่ ่ มุ “Print” แสดงวิธกี ารใช้งานดังรูปที่ 7.96

รูปที่ 7.95 การสังพิ


่ มพ์โมเดลโดยเรียกใช้งานจากเมนเมนู File & Print

คลิกเลือก
คลิกปุม
เพื่อตั้งชื่อไฟลบันทึก .pdf

คลิกปุม

รูปที่ 7.96 ตัง้ ค่าการพิมพ์แบบบันทึกเป็ นไฟล์ .pdf


เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink
บทที่ 7 (Getting Started with MATLAB Simulink)
7–66
MATLAB Simulink Programming หนา 7–67

เปิ ดไฟล์งานพิมพ์ด้วยโปรแกรม Acrobat Reader จะได้ปรากฏหน้าตาของโมเดล vdp


แสดงดังรูปที่ 7.97 โดยจะมีโมเดลหรือบล็อกไดอะแกรมเหมือนที่อยู่บนหน้าต่างทํางาน Simulink
Editor แต่ว่าจะไม่มกี รอบเฟรมการพิมพ์ มีจํานวนหนึ่งหน้ากระดาษและการวางหน้ากระดาษเป็ น
แบบแนวนอน

รูปที่ 7.97 ไฟล์โมเดล .pdf สําหรับงานพิมพ์

การพิมพบล็อกไดอะแกรมระบบยอย (Sub-System)

1) เปิ ดโมเดล “Engine Timing Model with Closed-Loop Control” โดยพิมพ์คําสัง่


“sldemo_enginewc” บนหน้ าต่าง Command window ดังรูปที่ 7.98 ต่อจากนัน้ MATLAB จะเปิ ด
โมเดลนี้บนหน้าต่างทํางาน Simulink Editor ขึน้ มาให้อตั โนมัติ แสดงโมเดล Engine Timing Model
ดังรูปที่ 7.99

รูปที่ 7.98 เปิ ดโมเดล Engine Timing Model with Closed-Loop Control ด้วยคําสังบนหน้
่ าต่าง
Command window

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


7–67
(Getting Started with MATLAB Simulink) บทที่ 7
หนา 7–68 MATLAB Simulink Programming

รูปที่ 7.99 โมเดล Engine Timing Model with Closed-Loop Control: sldemo_enginewc

2) เปิ ดโมเดลระบบย่อย โดยคลิกลูกศรที่ “Explorer bar” ซึ่งจะมีรายการระบบย่อ ย


ภายในเมนโมเดลทัง้ หมด แสดงดังรูป ที่ 7.100 ในตัว อย่างนี้ จะเลือกระบบย่อยชื่อ “ Throttle &
Manifold” คลิกเลือกระบบย่อย “Throttle & Manifold” ทีห่ น้าต่างทํางาน Simulink Editor จะแสดง
โมเดลระบบย่อย “Throttle & Manifold: Air Intake Dynamics” ดังรูปที่ 7.101

คลิก

คลิกเลือก

รูปที่ 7.100 เปิ ดและเลือกระบบย่อย “Throttle & Manifold”

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


บทที่ 7 (Getting Started with MATLAB Simulink)
7–68
MATLAB Simulink Programming หนา 7–69

รูปที่ 7.101 โมเดลระบบย่อย “Throttle & Manifold”

2) สังพิ
่ มพ์โมเดล ทีห่ น้าต่างทํางาน Simulink Editor คลิกเลือกเมนู File > Print > Print
หรือใช้คยี ด์ ว่ น Ctrl + P จะปรากฏหน้าต่างตอบโต้ “Print Model” ทดลองกําหนดค่าการพิมพ์โมเดล
ออกเป็ นไฟล์ .pdf และตัง้ ชื่อไฟล์ .pdf โดยคลิกที่ป่ ุม “...” ทําการตัง้ ชื่อไฟล์ทจ่ี ะบันทึก ต่อจากนัน้
คลิกทีป่ ่ มุ “Print” เราจะได้ไฟล์โมเดลระบบย่อยสําหรับงานพิมพ์แล้ว ทดลองเปิ ดไฟล์งานพิมพ์ ด้วย
โปรแกรม Acrobat Reader จะได้ผลลัพธ์โมเดลระบบย่อยดังรูปที่ 7.102 ซึง่ จะมีลกั ษณะเหมือนกัน
กับการพิมพ์โมเดลหลักในตัวอย่างข้างต้นทีไ่ ด้นําเสนอไปแล้ว

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


7–69
(Getting Started with MATLAB Simulink) บทที่ 7
หนา 7–70 MATLAB Simulink Programming

รูปที่ 7.102 ไฟล์โมเดลระบบย่อย .pdf สําหรับงานพิมพ์

7.11 คำนวณสมการคณิตศาสตรดวยโมเดล
ตัง้ แต่หวั ข้อที่ 7.1 – 7.10 ผู้อ่านได้เรียนรู้และฝึ กปฏิบตั ิการใช้งาน MATLAB Simulink
เกี่ยวกับหน้าที่หรือฟั งก์ชนั การทํางานของส่วนประกอบต่างๆ ของโปรแกรม MATLAB Simulink
ได้แก่ เมนูหลัก/ย่อย หน้าต่างทํางาน การใช้งานบล็อกเซตคําสัง่ การเปิ ดงาน/การบันทึกงานโมเดล
การพิม พ์ง านโมเดลออกทางเครื่อ งพิม พ์ การใช้ค ีย์ด่ว นและเมาส์ป ระกอบการเขีย นโปรแกรม
เพือ่ ความรวดเร็วในการสร้างโมเดล
ในหัวข้อนี้ จะนํ าเสนอตัวอย่างเพื่อฝึ กเขียนโมเดลหรือบล็อกไดอะแกรม พูดง่ายๆ คือ
เขียนโปรแกรมเพื่อการคํานวณสมการทางคณิตศาสตร์ ตัวอย่างแรก จะแสดงให้เห็นว่าการเขียน
โปรแกรมโดยใช้ภาษากราฟิ กหรือรูปภาพ (Graphical programming language) จะต้องเขียนคําสัง่
เพื่อหาคําตอบได้อย่างไร? ขัน้ ตอนการออกแบบ/สร้างแบบจําลอง Math Operations ง่ายๆ แนะนํา
การใช้บล็อกเซต (Block sets) เกี่ยวกับ “Math Operations” ต่างๆ นํามาประกอบกันเป็ นโครงข่าย
เพื่อหาคําตอบ และแสดงผลลัพธ์ด้วยบล็อกเซต “Display” และ “Scope” ซึ่งตามปกติเราอาจจะ
คํานวณหาคําตอบโดยใช้เครื่องคิดเลข หรือใช้ MATLAB Desktop ได้ โดยพิมพ์คําสังบน ่ Command
line บน Command Window

ตัวอยางที่ 1: แปลงคาอุณหภูมิจากหนวยองศาฟาเรนไฮนเปนองศาเซลเซียส
โจทย์กําหนดให้สร้างโมเดลเพื่อแปลงค่าอุณหภูมจิ ากหน่ วยองศาฟาเรนไฮน์ (F) เป็ น
องศาเซลเซียส (C) โดยจะนําสมการการแปลงหน่วยอุณหภูมิ ตามสมการที่ (1) มาเป็ นโปรแกรม

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


บทที่ 7 (Getting Started with MATLAB Simulink)
7–70
MATLAB Simulink Programming หนา 7–71

c f − 32
=( ) (7.1)
5 9
5
=c ( f − 32) (7.2)
9
9
=f c + 32 (7.3)
5

โดยที่ c คือ อุณหภูมมิ หี น่วยเป็ นองศาเซลเซียส และ


f คือ อุณหภูมมิ ห ี น่วยเป็ นองศาฟาเรนไฮต์

จากสมการที่ (7.1) ถ้าหากต้องการแปลงค่าอุณหภูมจิ ากหน่ วยองศาฟาเรนไฮน์ (F) เป็ น


องศาเซลเซียส (C) ดังนัน้ ตัวแปรอินพุท คือ อุณหภูมอิ งศา F และอุณหภูมเิ อาต์พุท คือ อุณหภูมิ
องศา C โดยจะนําสมการที่ (7.2) มาเขียนโมเดลเพือ่ การคํานวณ
ก่อนจะเริม่ โปรแกรม อยากจะให้ผอู้ ่านได้พจิ ารณาสมการที่ (7.2) เพื่อทําความเข้าใจและ
มองเห็นถึงความสัมพันธ์ระหว่างบล็อกเซตกับสมการ กล่าวคือ เมือ่ เรามีสมการแล้ว จะต้องใช้บล็อก
เซตฟั งก์ชนั อะไรบ้างมาเขียนเป็ นสมการ มีวธิ กี ารพิจารณาและสังเกตดังรูปที่ 7.103

คาคงที่: บล็อก Constant ตัวแปรอินพุท: บล็อก Constant


แสดงเอาตพุท: บล็อก Display คาคงที่: บล็อก Constant
5
c = ( ) × ( f − 32)
9
การลบ: บล็อก Subtract
การคูณ: บล็อก Product

รูปที่ 7.103 ความสัมพันธ์ระหว่างสมการกับบล็อกเซต

จากรูปที่ 7.103 และสมการที่ (7.2) สามารถสรุปจํานวนบล็อกเซตทีจ่ ะนํามาเป็ นสมการ


แสดงดังตารางที่ 7.9 โดยเราจะได้บล็อกเซตทัง้ หมด จํานวน 6 บล็อกเซต ซึง่ ได้มาจากองค์ประกอบ
ของสมการตามรูปที่ 7.103 ประกอบด้วย บล็อกเซตค่าคงที่ (Constant: 5/9, 32) บล็อกเซตตัว
ดําเนินการทางคณิตศาสตร์ การลบและการคูณ (Subtract, Product) และบล็อกเซตสําหรับการแสดง
ผลลัพธ์องศา C (Display)

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


7–71
(Getting Started with MATLAB Simulink) บทที่ 7
หนา 7–72 MATLAB Simulink Programming

ตารางที่ 7.9 บล็อกเซตทีใ่ ช้กบั สมการที่ (7.2) และการกําหนดคุณสมบัต/ิ คุณลักษณะ


ชื่อบล็อกเซต กําหนด: ชื่อคุณสมบัติ กําหนด: ค่าคุณสมบัติ
Display Display C degree -
Constant F 100
Constant1 32 32
Constant2 (5/9) 5/9
Product Product (x) -
Subtract Subtract (-) -

เมือ่ ได้บล็อกเซตทีจ่ ะนํามาเขียนโปรแกรมแล้ว มาเริม่ การสร้างโมเดล มีขนั ้ ตอนดังนี้

1) เปิ ดโปรแกรม Simulink และ จัดหน้ าต่างทํางานให้เหมาะสม โดยจัดวางตําแหน่ ง


ของหน้ าต่าง “Simulink Editor” และ “Simulink Library Browser” ให้อยู่ในรูปแบบ Tile windows
vertically (ผู้ใช้งานได้ศึกษาเรียนรู้การเปิ ดใช้งาน MATLAB Simulink ในหัว ข้อที่ 7.1-7.10 แล้ว
สามารถกลับไปทบทวนหรือเรียนรูแ้ ละทดลองการใช้งานได้) ทําการจัดเรียงหน้าต่างต่อกันซ้าย-ขวา
แสดงดังรูปที่ 7.104 เพือ่ ให้งา่ ยและสะดวกต่อการคลิกเลือกบล็อกเซตจากหน้าต่าง “Simulink Library
Browser” ทางซ้ายมือ ไปวางไว้ทห่ี น้าต่างทํางาน “Simulink Editor” ด้านขวามือ (คลิกลากแล้ววาง:
Drag and Drop)

หนาตางทำงาน
Simulink Editor

หนาตางชุดบล็อกเซต
Simulink Library Browser

รูปที่ 7.104 จัดวาง/เรียงหน้าต่างรูปทํางานแบบ Tile windows vertically

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


บทที่ 7 (Getting Started with MATLAB Simulink)
7–72
MATLAB Simulink Programming หนา 7–73

2) เลือกบล็อกเซต จากหน้าต่าง “Simulink Library Browser” ไปวางไว้ทห่ี น้าต่างทํางาน


“Simulink Editor” สําหรับผูใ้ ช้งานครัง้ แรกอาจจะไม่ทราบว่าบล็อกเซตต่างอยู่ในหมวดใด ขอแนะนํา
ให้ใช้วธิ กี ารค้นหา โดยพิมพ์คยี ์เวิร์ดชื่อบล็อกเซตที่ช่อง “Text box” ได้แก่ “constant”, “product”,
“subtract”, และ “display” บนหน้าต่าง “Simulink Library Browser” แสดงการค้นหาดังรูปที่ 7.105

บล็อก Constant

บล็อก Product

บล็อก Subtract

บล็อก Display

รูปที่ 7.105 การใช้คยี เ์ วิรด์ ต่างๆ เพือ่ ค้นหาบล็อกเซตทีจ่ ะนําไปสร้างโมเดล

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


7–73
(Getting Started with MATLAB Simulink) บทที่ 7
หนา 7–74 MATLAB Simulink Programming

เลือกบล็อกเซตตามรูปที่ 7.105 หรือตามตารางที่ 7.9 คลิกบล็อกเซตลากและวางจาก


หน้าต่าง “Simulink Library Browser” ไปวางไว้ท่หี น้าต่างทํางาน “Simulink Editor” แสดงดังรูปที่
7.106 ให้ครบ ส่วนบล็อกเซต Constant จะใช้จํานวน 3 บล็อกเซต ผูใ้ ช้งานจะใช้วธิ กี าร Duplicate
(Copy and Paste) บล็อกเซตก็ได้

รูปที่ 7.106 การคลิกลากและวางบล็อกเซตไปยังหน้าต่างทํางาน Simulink Editor

แล้วผูใ้ ช้งานทําการจัดวางบล็อกเซตให้สอดคล้องกับสมการที่ (7.2) แสดงดังรูปที่ 7.107

รูปที่ 7.107 การจัดวางบล็อกเซต

3 ) กํา หนดชื่ อ คุณ สมบัติ บ ล็อ กเซต สัง เกตบล็ อ กไดอะแกรมบนหน้ า ต่ า งทํ า งาน
“Simulink Editor” ในรูปที่ 7.107 เมือ่ ลากบล็อกเซตมาวางในครัง้ แรก จะเห็นว่าไม่แสดงชื่อบล็อกเซต
ใดๆ ให้ทําการแสดงชื่อบล็อกเซต โดยการคลิ กที่ บล็อกเซตนัน้ จะปรากฏเมนู ไอคอน “…” แล้ว

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


บทที่ 7 (Getting Started with MATLAB Simulink)
7–74
MATLAB Simulink Programming หนา 7–75

คลิกที่เมนู ไอคอนนี้ จะมีเมนู ย่อยปรากฏขึน้ (ดังรูปที่ 7.108) คลิกเลือกเมนู ไอคอน “Show Block
Name” ให้แสดงชือ่ ทุกๆ บล็อกเซต ผลลัพธ์แสดงดังรูป 7.108 ข้างล่าง

คลิกเลือก

รูปที่ 7.108 การแสดงชือ่ ของบล็อกเซต (Show Block Name)

ต่อจากนัน้ ทําการเปลี่ยนชื่อบล็อกเซตเดิมจากรูปที่ 7.108 โดยใช้ช่อื ตามตารางที่ 7.9


คอลัมน์ “กําหนด: ชื่อคุณสมบัติ” เพื่อให้มคี วามสอดคล้องกับสมการที่ 7.2 และเพื่อให้ง่ายต่อการ
วิเคราะห์การทํางานและการแก้ไขโปรแกรม เมื่อเปลีย่ นชื่อบล็อกเซตสําเร็จแล้ว จะได้ผลลัพธ์แสดง
ดังรูปที่ 7.109

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


7–75
(Getting Started with MATLAB Simulink) บทที่ 7
หนา 7–76 MATLAB Simulink Programming

รูปที่ 7.109 ผลลัพธ์การเปลีย่ นบล็อกเซตต่างๆ

4) สร้างเส้นเชื่อมต่อระหว่างบล็อกเซต จากรูปที่ 7.109 ทําการลากเส้นเชื่อมจากเอาต์


พุทของบล็อกเซตหนึ่งไปยังอินพุทของบล็อกเซตหนึ่งและทําการจัดตําแหน่งเส้นเชือ่ มต่อให้สวยงาม
จะได้บล็อกไดอะแกรมหรือโมเดล แสดงดังรูปที่ 7.110

รูปที่ 7.110 การสร้างเส้นเชือ่ มต่อระหว่างบล็อกเซต


เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink
บทที่ 7 (Getting Started with MATLAB Simulink)
7–76
MATLAB Simulink Programming หนา 7–77

5) กําหนดค่าคุณสมบัติบล็อกเซต จากรูปที่ 7.110 มีจํานวน 2 บล็อกเซต Constant:


Constant1: “32”, และ Constant2: “(5/9)” ที่จะต้องกําหนดค่าคุณสมบัติ (Block Parameters) คือ
กําหนดค่าคงทีใ่ ห้กบั บล็อกเซต ตามตารางที่ 7.9 มีวธิ กี ารกําหนดค่าคุณสมบัตใิ ห้กบั บล็อกเซต ดังนี้

5.1 กําหนดค่าคุณสมบัติบล็อกเซต Constant1: “32” (Block Parameters: 32)


โดย ❶ ดับเบิ้ลคลิ กบล็อกเซตทีต่ อ้ งการจะปรับตัง้ ค่า (Constant1: “32”) ต่อจากนัน้ จะ
ปรากฏหน้าต่าง “Block Parameters: 32” ดังรูปที่ 7.111 และ ❷ ใส่ค่าคงทีท่ ก่ี าํ หนด คือ “32” ในช่อง
Text box “Constant value:” เสร็จแล้ว คลิกปุ่ม “OK” แสดงวิธกี ารดังรูปข้างล่าง

❷ ใสคาคงที่
❶ ดับเบิ้ลคลิก
คลิกปุม

รูปที่ 7.111 การกําหนดค่าคุณสมบัตบิ ล็อกเซต Block Parameters: 32

5.2 กําหนดค่าคุณสมบัติบล็อกเซต Constant2: “(5/9)” (Block Parameters: (5/9))


โดย ❶ ดับเบิ้ลคลิ กบล็อกเซตทีต่ ้องการจะปรับตัง้ ค่า (Constant2: “(5/9)”) ต่อจากนัน้
จะปรากฏหน้าต่าง “Block Parameters: (5/9)” ดังรูปข้างล่าง และ ❷ ใส่ค่าคงทีท่ ก่ี ําหนด คือ “5/9”
ในช่อง Text box “Constant value:” เสร็จแล้ว คลิกปุ่ม “OK” แสดงวิธกี ารดังรูปที่ 7.112

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


7–77
(Getting Started with MATLAB Simulink) บทที่ 7
หนา 7–78 MATLAB Simulink Programming

❷ ใสคาคงที่
❶ ดับเบิ้ลคลิก
คลิกปุม

รูปที่ 7.112 การกําหนดค่าคุณสมบัตบิ ล็อกเซต Block Parameters: (5/9)

เมือ่ ได้ปรับตัง้ ค่าคุณสมบัตใิ ห้กบั บล็อกเซต “Constant” จํานวน 2 บล็อกเซตแล้ว เราจะได้


บล็อกไดอะแกรม/โมเดล หรือโปรแกรมสําหรับการแปลงหน่วยอุณหภูมแิ บบเสร็จสมบูรณ์แล้ว แสดง
ดังรูปที่ 7.113

รูปที่ 7.113 บล็อกไดอะแกรม/โมเดลการแปลงหน่วยอุณหภูมิ องศา F เป็ นองศา C

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


บทที่ 7 (Getting Started with MATLAB Simulink)
7–78
MATLAB Simulink Programming หนา 7–79

6) บันทึกไฟล์บล็อกไดอะแกรม/โมเดล เมื่อได้สร้างโมเดลเสร็จเรียบร้อยแล้ว ต่อไปทํา


การบันทึกไฟล์ “Simulink model” เพื่อจะได้นําโมเดลมาใช้รนั /ทดสอบโปรแกรม หรือปรับแก้โมเดล
ใหม่ในภายหลังได้ แสดงดังรูปที่ 7.114 มีขนั ้ ตอนดังนี้
 คลิกทีไ่ อคอนคอลโทรล “Save” จะปรากฏหน้าต่างบันทึกข้อมูล “Save as”
 เลือกเส้นทาง (Path) หรือโฟลเดอร์ (Folders) ทีต่ อ้ งการจะบันทึกไฟล์ลงไปเก็บไว้ ใน
การทดลองกําหนดให้เก็บไฟล์ไว้ในโฟลเดอร์ไฟล์งาน Simulink_MATLAB
 ตัง้ ชือ่ โมเดล ซึง่ ในการทดลองจะใช้ชอ่ื “model7_01_temperature_conversion” พิมพ์
ชือ่ ลงในช่อง Text box File name: และเมือ่ เสร็จแล้ว
 คลิกปุ่ม “Save”

❶ คลิกไอคอน

❷ คลิกเลือก

❸ พิมพชื่อไฟล

คลิกปุม ❹

รูปที่ 7.114 การบันทึกไฟล์ Simulink model

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


7–79
(Getting Started with MATLAB Simulink) บทที่ 7
หนา 7–80 MATLAB Simulink Programming

6) การรันโมเดล ขัน้ ตอนนี้เป็ นขัน้ ตอนสุดท้าย คือ สังให้ ่ โมเดลหรือแบบจําลองทีส่ ร้างขึน้


ทํางาน ในการสังให้ ่ โปรแกรม MATLAB Simulink ทํางาน มี 3 วิธี ดังนี้
(1) ใช้คียล์ ดั /คียด์ ่วน (Shortcut Key) โดยใช้คยี ์ “Ctrl + T”
(2) ใช้เมนเมนู (Main Menu) ที่หน้ าต่างทํางาน Simulink Editor ทําการคลิกเลือกเมนู
“Simulation” และคลิกเลือกเมนู “Run”
(3) ใช้ ไอคอนคอนโทรล โดยคลิกที่ไอคอนคอนโทรล “Run” ที่หน้ า Simulink Editor
แสดงดังรูปที่ 7.115
เมื่อคลิกปุ่มไอคอนคอนโทรล “Run” แล้ว Simulink จะทําการประมวลผลบล็อกเซตคําสัง่
และแสดงผลลัพธ์อุณหภูมอิ งศา c ทางบล็อกเซต “Display” มีค่าเท่ากับ -17.22 เมื่ออุณหภูมอิ งศา
f มีคา่ เท่ากับ 1 แสดงผลลัพธ์ดงั รูปที่ 7.115

คลิกไอคอน

รูปที่ 7.115 การรันโปรแกรมและผลลัพธ์แสดงค่าอุณหภูมดิ ว้ ยบล็อกเซต Display

ทดลองเทียบคําตอบการคํานวณกับการใช้คาํ สังบน ่ Command window ทีห่ น้าต่างทํางาน


MATLAB Desktop (IDE) มีคาํ สังเพื
่ อ่ หาคําตอบ แสดงดังรูปที่ 7.116 ข้างล่าง

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


บทที่ 7 (Getting Started with MATLAB Simulink)
7–80
MATLAB Simulink Programming หนา 7–81

รูปที่ 7.116 การใช้คาํ สังบนหน้


่ าต่าง Command window เพือ่ คํานวณหาคําตอบ

ทดลองใช้ MATLAB Desktop (IDE) คํานวณหาค่าอุณหภูมอิ งศา c เมือ่ อุณหภูมอิ งศา f


มีคา่ เท่ากับ 100 แสดงการใช้คาํ สังบนหน้
่ าต่าง Command window ดังรูปที่ 7.117 โดยจะได้อุณหภูมิ
องศา f มีคา่ เท่ากับ 37.778 องศา

รูปที่ 7.117 คํานวณอุณหภูมอิ งศา c เมือ่ อุณหภูมอิ งศา f มีคา่ เท่ากับ 100

เมื่อต้องการคํานวณอุณหภูมอิ งศา c เมื่ออุณหภูมอิ งศา f มีค่าเท่ากับ 100 โดยใช้


โปรแกรม MATLAB Simulink ที่เ ราได้ส ร้า งและออกแบบโมเดลไว้ต ามรูป ที่ 7.115 ทํา ได้โ ดย
กําหนดค่า/เปลีย่ นค่าคุณสมบัตบิ ล็อกเซต Constant: F มีขนั ้ ตอนวิธดี งั นี้
❶ ดับเบิ้ ลคลิ กบล็อกเซต Constant: F แล้วจะปรากฏหน้าต่าง “Block Parameters: F”
ดังรูปข้างล่าง และ
❷ ใส่ค่า คงที่ คือ “ 100” ในช่อ ง Text box “ Constant value:” เสร็จ แล้ว คลิก ปุ่ ม “ OK”
แสดงวิธกี ารดังรูปที่ 7.118

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


7–81
(Getting Started with MATLAB Simulink) บทที่ 7
หนา 7–82 MATLAB Simulink Programming

❷ ใสคาคงที่
❶ ดับเบิ้ลคลิก
คลิกปุม

รูปที่ 7.118 การกําหนดค่าคุณสมบัตบิ ล็อกเซต Block Parameters: F

ทดลองรันโมเดล จะได้ผลลัพธ์การคํานวณแสดงดังรูปที่ 7.119

รูปที่ 7.119 ผลลัพธ์การคํานวณหาอุณหภูมอิ งศา c เมือ่ อุณหภูมิ f เท่ากับ 100

ตัวอยางที่ 2: แปลงหนวยอุณหภูมิ โมเดล 2


จากตัวอย่างที่ 1 ข้อมูลอินพุทอุณหภูมอิ งศา f จะเป็ นตัวเลขค่าเดียว เมื่อต้องการเปลีย่ น
ค่าอินพุทใหม่จะต้องใส่คา่ คุณสมบัตใิ ห้กบั บล็อกเซต Constant: F โจทย์ในตัวอย่างนี้จะเป็ นการสร้าง
โมเดลเพื่อแปลงอุณหภูมจิ ากหน่ วยองศาเซลเซียส (C) เป็ นองศาฟาเรนไฮน์ (F) โดยใช้สมการที่
(7.3) มาเขียนเป็ นโปรแกรมเพื่อคํานวณหาค่าอุณหภูมิ โดยให้ขอ้ มูลอินพุทเป็ นแบบเวกเตอร์แถว
และแสดงผลลัพธ์ในรูปแบบอื่นๆ ได้แก่ บนบล็อกเซต Scope, และเก็บไว้ในตัวแปร มีเงือ่ นไขดังนี้

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


บทที่ 7 (Getting Started with MATLAB Simulink)
7–82
MATLAB Simulink Programming หนา 7–83

1) เงื่อนไขโปรแกรม
1. ข้อมูลอุณหภูมอิ นิ พุท c เป็ นข้อมูลแบบเวกเตอร์แถว
2. แสดงผลลัพธ์การคํานวณในรูปแบบกราฟ เปรียบเทียบข้อมูลอินพุทและเอาต์พทุ
3. บัน ทึก ข้อ มู ล อิน พุ ท และเอาต์ พุ ท อุ ณ หภู ม ิอ งศา c , และ f เก็ บ ไว้ ท่ีต ัว แปรชื่อ
“degree” แสดงบนหน้าต่าง “Workspace window”

2) แยกสวนประกอบไดอะแกรมจากสมการ
ก่อนการเริม่ ต้นเขียนโปรแกรม ทําการพิจารณาสมการที่ (7.3) เพื่อหาความสัมพันธ์หรือ
ความเกี่ยวข้องระหว่างสมการกับบล็อกเซต ว่าเราจะต้องใช้บล็อกเซต/ฟั งก์ชนั อะไรบ้าง? นํ ามา
เขียนเป็ นโมเดล แสดงความสัมพันธ์ ดังรูปที่ 7.120
รวมสัญญาณ: Mux
อินพุท: Ramp
เอาตพุท: Scope คาคงที่: Constant
9
=
f c + 32
5
เอาตพุท: To Workspace การบวก: Sum
การคูณ: Gain
รูปที่ 7.120 ความสัมพันธ์ระหว่างสมการกับบล็อกเซต

จากรูปที่ 7.120 สรุปบล็อกเซตทีจ่ ะนํามาเขียนโปรแกรมได้ดงั ตารางที่ 7.10

ตารางที่ 7.10 บล็อกเซตทีใ่ ช้กบั สมการที่ (7.3) และการกําหนดคุณสมบัต/ิ คุณลักษณะ


ชื่อบล็อกเซต กําหนด: ชื่อคุณสมบัติ กําหนด: ค่าคุณสมบัติ
Ramp Ramp C degree ดูการกําหนดคุณสมบัตทิ ่ี 4.1
Gain Gain (x9/5) 9/5
Constant 32 32
Sum Sum (+) -
Scope Scope F degree ดูการกําหนดคุณสมบัตทิ ่ี 4.5
Mux Mux -
To Workspace To Workspace ดูการกําหนดคุณสมบัตทิ ่ี 4.7

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


7–83
(Getting Started with MATLAB Simulink) บทที่ 7
หนา 7–84 MATLAB Simulink Programming

3) การเขียนโมเดล
จากการฝึกปฏิบตั ใิ นตัวอย่างที่ 1 ผูใ้ ช้งานคงจะพอมองเห็นลําดับขัน้ ตอน และวิธกี ารเขียน
โปรแกรมด้วย MATLAB Simulink แล้ว ซึง่ การทีเ่ ราจะได้บล็อกเซตต่างๆ มาเขียนโมเดลนัน้ จะได้มา
จากการนําสมการมาวิเคราะห์เพือ่ แยกส่วนประกอบว่าสมการมีเทอมใดบ้าง ซึง่ ได้แก่ ค่าคงทีต่ ่างๆ
ตัวแปรอินพุท ตัวแปรเอาต์พุท เครื่องหมายดําเนินการทางคณิตศาสตร์ และการแสดงผลลัพธ์
ต่อจากนัน้ เราจะนํ าส่วนประกอบเหล่านัน้ มาเลือกบล็อกเซตต่างๆและกําหนดชื่อคุณสมบัตใิ ห้กบั
บล็อกเซตซึง่ มีความสอดคล้องกับเทอมของสมการด้วย ได้ดงั ตารางที่ 7.10
มีขอ้ สังเกตอย่างหนึ่งทีอ่ ยากจะให้พจิ ารณา คือ ลําดับการวางตําแหน่ งบล็อกเซต เมื่อเรา
ได้บล็อกเซตทีจ่ ะนํามาเขียนโปรแกรม แล้วจะมีหลักในการวางบล็อกเซตอย่างไร? ผูเ้ ขียนขอเสนอ
หลักการวางบล็อกเซต คือ “การย้ายฝัง่ เทอมสมการ” จากสมการในรูปที่ 7.120 เมื่อย้ายฝั ง่ เทอม
สมการ จะได้ผลลัพธ์ แสดงดังรูปที่ 7.121 ซึง่ จะทําให้เรามองส่วนประกอบของสมการ ได้แก่ ตัวแปร
อินพุท ค่าคงที่ ตัวดําเนินการทางคณิตศาสตร์ และตัวแปรเอาต์พุท เป็ นเหมือนกับระบบๆ หนึ่ง
ทีป่ ระกอบด้วย อิ นพุท โปรเซส และเอาต์พทุ นันเอง ่ แสดงดังรูปที่ 7.121

โปรเซส
9
ตัวแปรอินพุท c + 32 =f ตัวแปรเอาตพุท
5
รูปที่ 7.121 สมการทีถ่ ูกย้ายฝั ง่ ทําให้มองเห็นเป็ นระบบๆ หนึ่งประกอบด้วย Input, Process, Output

เมื่อได้สมการทีจ่ ดั รูปใหม่ และสามารถมองสมการเป็ นระบบๆ หนึ่งทีป่ ระกอบด้วย Input,


Process, Output ดังรูปที่ 7.121 แล้ว ทําให้มองสมการเป็ นโมเดลหรือบล็อกไดอะแกรมได้ง่ายขึ้น
กล่าวคือ ระบบนี้ จะประกอบด้ว ย (1) อิ นพุท คือ บล็อกเซต Ramp กําหนดให้เ ป็ นข้อมูล แบบ
เวกเตอร์แถว มีค่าตัง้ แต่ 0 – 100 (2) โปรเซส คือ บล็อกเซต Gain, บล็อกเซตค่าคงที่ Constant,
และบล็อกเซต Sum รวมเป็ นบล็อกไดอะแกรมสําหรับการประมวลผล และ (3) เอาต์พทุ บล็อกเซต
Scope สําหรับแสดงผลคําตอบทีป่ ระมวลผลได้ ทัง้ หมดทัง้ มวลทีก่ ล่าวมานี้ จึงสรุปออกมาเป็ นตาราง
บล็อกเซตต่างๆ ดังทีไ่ ด้แสดงไปแล้วข้างต้นในตารางที่ 7.10 นันเอง

ทําการเขียนโมเดล โดยเลือกใช้บล็อกเซตตามตารางที่ 7.3 และการจัดวางบล็อกเซต
ตําแหน่งใดๆ อ้างอิงตามรูปที่ 7.121 แสดงโมเดลหรือบล็อกไดอะแกรมได้ดงั รูปที่ 7.122

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


บทที่ 7 (Getting Started with MATLAB Simulink)
7–84
MATLAB Simulink Programming หนา 7–85

รูปที่ 7.122 โมเดลหรือบล็อกไดอะแกรม

เมื่อนํ ามาเป็ นบล็อกไดอะแกรมตามรูปที่ 7.122 เรายังคงมองโมเดลเป็ นระบบๆ หนึ่งที่


ประกอบด้วย Input, Process, Output และยังคงมีความสอดคล้องกับสมการที่ (7.3) และรูปที่ 7.121
แสดงดังรูปที่ 7.123
Output
Input Process

รูปที่ 7.123 บล็อกไดอะแกรมประกอบด้วย Input, Process, และ Output

4) การตั้งคาคุณสมบัติบล็อกเซต
บล็อกไดอะแกรมดังรูปที่ 7.122 จะต้องทําการปรับตัง้ ค่า/กําหนดค่าคุณสมบัตใิ ห้เหมาะสม
ได้แก่ ชือ่ บล็อกเซต และค่าคุณสมบัติ เป็ นต้น มีลาํ ดับการกําหนดค่า ดังนี้
4.1) บล็อกเซต Ramp โดยเปลีย่ นชื่อจาก Ramp เป็ น “Ramp C degree” และกําหนดค่า
คุณสมบัตใิ ห้กบั บล็อกเซต ดังรูปที่ 7.124

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


7–85
(Getting Started with MATLAB Simulink) บทที่ 7
หนา 7–86 MATLAB Simulink Programming

ใสคาคงที่

คลิกปุม

รูปที่ 7.124 ตัง้ ค่าคุณสมบัตบิ ล็อกเซต (Block Parameters: Ramp C degree)

4.2) บล็อกเซต Gain เปลี่ยนชื่อจาก Gain เป็ น “Gain (x9/5)” และกําหนดค่าคุณสมบัติ


ให้กบั บล็อกเซต ดังรูปที่ 7.125

ใสคาคงที่

คลิกปุม
รูปที่ 7.125 ตัง้ ค่าคุณสมบัตบิ ล็อกเซต (Block Parameters: Gain (x9/5))

4.3) บล็อกเซต Constant เปลี่ยนชื่อจาก Constant เป็ น “32” และกําหนดค่าคุณสมบัติ


ให้กบั บล็อกเซต ดังรูปที่ 7.126

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


บทที่ 7 (Getting Started with MATLAB Simulink)
7–86
MATLAB Simulink Programming หนา 7–87

ใสคาคงที่

คลิกปุม
รูปที่ 7.126 ตัง้ ค่าคุณสมบัตบิ ล็อกเซต (Block Parameters: 32)

4.4) บล็อกเซต Sum เปลีย่ นชื่อจาก Sum เป็ น “Sum (+)” บล็อกเซตนี้ไม่ตอ้ งกําหนดค่า
คุณสมบัตใิ ดๆ
4.5) บล็อกเซต Scope เปลี่ยนชื่อจาก Scope เป็ น “Scope F degree” และกําหนดค่า
คุณสมบัตใิ ห้กบั บล็อกเซต ดังรูปที่ 7.127
ข้อสังเกตเมื่อคลิกลากและวางบล็อกเซตไว้ทห่ี น้าต่างทํางาน Simulink Editor สัญญาณ
อินพุทพอร์ตจะมี 1 อินพุท ทําการปรับตัง้ ค่าสัญญาณอินพุทให้มจี าํ นวนพอร์ต 2 อินพุท วิธกี ารดังนี้

คลิ กขวาที่บล็อกเซต Scope จะปรากฏเมนูตอบโต้ คลิกเลือก Signals & Ports>Number


of Input Ports> 2 ดังรูป เมื่อคลิกเลือกจํานวนพอร์ตแล้ว บล็อกเซต Scope จะปรากฏจํานวนอินพุท
พอร์ตเพิม่ ขึน้ ดังรูปที่ 7.127
คลิกเลือก คลิกเลือก

รูปที่ 7.127 การกําหนดคุณสมบัตบิ ล็อกเซต Scope โดยเพิม่ จํานวนอินพุทพอร์ตเป็ น 2 พอร์ต

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


7–87
(Getting Started with MATLAB Simulink) บทที่ 7
หนา 7–88 MATLAB Simulink Programming

ดับเบิ้ ลคลิ กที่บล็อกเซต Scope เพื่อปรับตัง้ คุณสมบัตกิ ารแสดงผลกราฟ 2 ข้อมูล จะ


ปรากฏหน้าต่างตอบโต้ “Scope F degree” แสดงดังรูปที่ 7.128 ต่อจากนัน้ คลิกที่เมนู View และ
เลือก “Style …” จะมีหน้าตอบโต้ “Style: Scope F degree” ทําการปรับต้องค่ารูปแบบเส้นกราฟ
จํานวน 2 เส้น แสดงวิธกี ารดังรูปที่ 7.128

คลิกเลือก

เลือกขอมูลที่เสนที่ 1 อินพุท
เลือกความหนาเสน
เลือกสีเสน
คลิกปุม

เลือกขอมูลเสนที่ 2 เอาตพุท
เลือกรูปแบบเสน
เลือกสีเสน

คลิกปุม
รูปที่ 7.128 ปรับตัง้ ค่าคุณสมบัตกิ ารแสดงผลกราฟบนหน้าต่าง Scope จํานวน 2 ข้อมูล

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


บทที่ 7 (Getting Started with MATLAB Simulink)
7–88
MATLAB Simulink Programming หนา 7–89

4.5) บล็อกเซต Mux ไม่มกี ารปรับเปลี่ยนคุณสมบัติ หากต้องการกําหนดค่าคุณสมบัติ


ให้กบั บล็อกเซตใหม่ แสดงค่าคุณสมบัติ ดังรูปที่ 7.129

ใสจำนวนพอรตอินพุท

รูปที่ 7.129 กําหนดค่าคุณสมบัตบิ ล็อกเซต Mux

4.6) บล็อกเซต To Workspace กําหนดค่าคุณสมบัตใิ ห้กบั บล็อกเซต ดังรูปที่ 7.130 ซึง่ มี


ความต้องการจะบันทึกข้อมูลอินพุทและเอาต์พุทผลลัพธ์ ไปเก็บไว้ในตัวแปรชื่อ “degree” ซึง่ จะเป็ น
ข้อมูลทีไ่ ด้จะเป็ นแบบ Array มีเวกเตอร์คอลัมน์ จํานวน 2 คอลัมน์ โดยตัวแปร degree นี้ จะปรากฏ
ทีห่ น้าต่าง “Workspace”

กำหนดชื่อตัวแปร

เลือกขอมูลแบบ Array
กำหนดรูปแบบ Array

คลิกปุม
รูปที่ 7.130 กําหนดค่าคุณสมบัตบิ ล็อกเซต To Workspace

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


7–89
(Getting Started with MATLAB Simulink) บทที่ 7
หนา 7–90 MATLAB Simulink Programming

เมือ่ ดําเนินการ “ตัง้ ค่าคุณสมบัตบิ ล็อกเซต” ให้กบั บล็อกเซตทุกๆ ตัว ตัง้ แต่ขนั ้ ตอนที่ 4.1
ถึง 4.6 แล้ว เราจะได้บล็อกไดอะแกรมแบบเสร็จสมบูรณ์ แสดงดังรูปที่ 7.131

รูปที่ 7.131 โมเดลหรือบล็อกไดอะแกรมการแปลงหน่วยองศาอุณหภูมิ

5) การรันโปรแกรม
ก่อนการรันโปรแกรม จะต้องมีการกําหนดคุณสมบัตกิ ารรันเสียก่อน เพราะว่า โมเดลนี้ มี
เรื่องของเวลาเข้ามาเกีย่ วข้องด้วย กล่าวคือ บล็อกเซต Ramp และ บล็อกเซต Scope จะเป็ นบล็อก
เซตทีท่ าํ งานมีเวลาเข้ามาเกีย่ วข้อง ดังนัน้ จะต้องกําหนดเวลาเริม่ ต้น-สิน้ สุดสําหรับการรันโปรแกรม
โดยคลิกที่ Text box: “Simulation stop time” และใส่ขอ้ มูลเวลาเป็ น 100 เพือ่ ให้โปรแกรม
ประมวลผลจําลองโมเดล ตัง้ แต่เวลาเริม่ ต้นที่ 0 วินาที และเวลาสิน้ สุดที่ 100 วินาที ดังรูปที่ 7.132
ต่อจากนัน้ คลิ กไอคอนคอนโทรล “Run”

ใสขอมูลทางเวลา

คลิกปุม Run
รูปที่ 7.132 กําหนดค่าคุณสมบัตกิ ารรันโปรแกรม/โมเดลจําลองเชิงเวลา

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


บทที่ 7 (Getting Started with MATLAB Simulink)
7–90
MATLAB Simulink Programming หนา 7–91

เมือ่ คลิกปุ่มรันแล้ว MATLAB จะทําการประมวลผลแบบจําลองหรือโมเดลเพียงเสีย้ ววินาที


(Compiling) ถ้าหากโมเดลทีอ่ อกแบบและการกําหนดคุณสมบัตบิ ล็อกเซตถูกต้อง ที่ Status bar บน
หน้าต่างทํางาน Simulink Editor จะแสดงข้อความว่า “Ready” ดังรูปที่ 7.133

ขอความแสดง Ready
รูปที่ 7.133 การประมวลผลแบบจําลองหรือโมเดลอย่างถูกต้องและเสร็จสมบูรณ์

6) ผลลัพธการรันโปรแกรม
ดูผลลัพธ์ท่คี ํานวณได้จากการแปลงหน่ วยอุณหภูมอิ งศา C เป็ นหน่ วยองศา F ได้โดย
ดับเบิ้ลคลิ กที่บล็อกเซต Scope จะปรากฏกราฟจํานวน 2 เส้น คือ เส้นประสีน้ําเงิน และเส้นทึบสี
เขียว ดังรูปที่ 7.134 เส้นประสีนํ้าเงิ น คือ เอาต์พุทการคํานวณมีหน่ วยเป็ นองศา F โดยแกน
นอน คือ หน่ วยองศา C มีค่าตัง้ แต่ 0 – 100 องศา, แกนตัง้ คือ ค่าทีค่ ํานวณได้มหี น่ วยเป็ นองศา F
ส่วนเส้นสีเขียว คือ ข้อมูลอินพุทหน่วยองศา C มีความชันเท่ากับ 1 แสดงให้เห็นจํานวนข้อมูล
จากกราฟเส้นประสีน้ําเงินในรูปที่ 7.134 จะสังเกตเห็นว่า เมื่ออุณหาองศา C มีค่าเท่ากับ
0 อุณหภูมอิ งศา F จะเท่ากับ 32

ส่วนข้อมูลผลลัพธ์ทป่ี ระมวลผลได้อกี อย่างหนึ่ง จะถูกเก็บไว้ทต่ี วั แปร “degree” ซึง่ จะถูก


ประมวลด้วยบล็อกเซต “To Workspace” ผูใ้ ช้งานสามารถเข้าไปดูได้ทโ่ี ปรแกรม MATLAB Desktop
(IDE) ซึง่ ไปปรากฏบนหน้าต่าง “Workspace window” ดังรูปที่ 7.135 ทําการดับเบิล้ คลิกทีต่ วั แปร
degree จะปรากฏหน้าต่าง “Variables - degree” แสดงข้อมูลแบบเวกเตอร์ ซึง่ คอลัมน์ท่ี 1 คือ ข้อมูล
อินพุท อุณหภูมอิ งศา C ที่ sampling ค่าตัง้ แต่ 1 – 100 องศา ส่วนคอลัมน์ท่ี 2 คือ ข้อมูลเอาต์พุท
อุณหภูมอิ งศา F ทีค่ าํ นวณได้ดว้ ยบล็อกไดอะแกรม

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


7–91
(Getting Started with MATLAB Simulink) บทที่ 7
หนา 7–92 MATLAB Simulink Programming

รูปที่ 7.134 กราฟแสดงผลลัพธ์การคํานวณหน่วยองศา C เป็ นองศา F

รูปที่ 7.135 เวกเตอร์ผลลัพธ์ทไ่ี ด้การคํานวณ ซึง่ ถูกเก็บไว้ในตัวแปร “degree”

อยากจะให้ผูใ้ ช้งานได้พสิ ูจน์ผลการคํานวณการแปลงหน่ วยอุณหภูมโิ มเดลนี้ กับการใช้


คําสังบนหน้
่ าต่าง “Command window” ของโปรแกรม MATLAB Desktop (IDE) ว่าจะได้ผลลัพธ์
ตรงกันหรือไม่?
ทําการพิมพ์คําสังต่
่ างๆ และประมวลผล บนหน้าต่าง “Command window” คําสังแสดง ่
ดังรูปที่ 7.136 จากคําสัง่ จะทําการสร้างข้อมูลอินพุทแบบเวกเตอร์แถว มีค่าตัง้ แต่ 1 – 101 ภายใน
ข้อมูลจะให้เพิม่ ขึน้ ทีละ 2 step และนํ าไปประมวลด้วยสูตรการแปลงหน่ วย และผลลัพธ์ทไ่ี ด้จะถูก
เก็บไว้ทต่ี วั แปร “degree2” เมื่อคํานวณแล้วให้เปรียบเทียบข้อมูลภายในตัวแปร degree ทีไ่ ด้จาก
โมเดล และตัวแปร degree2 ทีไ่ ด้จากคําสังโค้ ่ ด ข้อมูลภายในตัวแปร degree2 แสดงดังรูปที่ 7.137

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


บทที่ 7 (Getting Started with MATLAB Simulink)
7–92
MATLAB Simulink Programming หนา 7–93

รูปที่ 7.136 คําสังการแปลงหน่


่ วยอุณหภูมจิ ากองศา C เป็ นองศา F ด้วยโค้ด MATLAB

รูปที่ 7.137 เวกเตอร์ผลลัพธ์ทไ่ี ด้จากคําสังโค้


่ ด ซึง่ ถูกเก็บไว้ในตัวแปร “degree2”

ทดลองพิมพ์คาํ สังเพื
่ อ่ พล็อตกราฟบนหน้าต่าง “Figure” ที่ Command line ด้วยคําสัง่
fx >> plot(degree2(:,1)', degree2(:,2)','--b');
MATLAB จะเปิ ดหน้าต่าง Figure และพล็อตกราฟเส้นจํานวน 1 เส้น แสดงดังรูปที่ 7.138

รูปที่ 7.138 พล็อตกราฟจากตัวแปร degree2 ด้วยคําสั่ง plot()


เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink
7–93
(Getting Started with MATLAB Simulink) บทที่ 7
หนา 7–94 MATLAB Simulink Programming

ตัวอยางที่ 3: การคำนวณสมการเชิงอนุพันธ
ในตัวอย่างที่ 2 ได้ฝึกปฏิบตั กิ ารเขียนโปรแกรมคํานวณสมการเชิงเส้นไปแล้ว ในส่วนนี้มา
ทดลองเขียนสมการเชิงอนุ พนั ธ์ (Differential Equation) บ้าง โดยใช้ Simulink เพื่อหาคําตอบและ
แสดงผลลัพธ์ดว้ ยการพล็อตกราฟ
ก่อนอื่น ขอทบทวนทฤษฎีวชิ าแคลคูล สั เกี่ยวกับสมการเชิงอนุ พนั ธ์สกั เล็กน้ อย ก่อน
เข้าเนื้อหาการเขียนโปรแกรม ดังนี้
กําหนดให้ f ( x) เป็ นฟั งก์ชนั ทีม่ ี x เป็ น “ตัวแปรอิ สระ” (ตัวแปรต้น) เมื่อ y = f ( x)
แล้วเราเรียก y ว่า “ตัวแปรตาม”
สมการดิฟเฟอเรนเชียล มีต้นกําเนิดมาจากปั ญหาทางคณิตศาสตร์ และฟิ สกิ ส์ ซึ่งพอจะ
แยกรายละเอียดของแต่ละปั ญหาทีน่ ําเข้าสู่สมการดิฟเฟอเรนเชียล ได้แก่ ปั ญหาเกี่ยวกับความชัน
เส้นโค้ง ความชันของเส้นสัมผัสเส้นโค้ง เป็ นต้น ยกตัวอย่าง เช่น กําหนดเส้นโค้งทีผ่ ่านจุด P( x, y)
มีความชันเป็ น 2 เท่าของผลบวกของคู่อนั ดับทัง้ สอง จะได้ว่า ความชันของเส้นโค้ง y = f ( x) คือ
dy
อนุพนั ธ์ ทีจ่ ุด ( x, y ) ใดๆ ดังนัน้ จะได้สมการดิฟเฟอเรนเชียล คือ
dx
dy
= 2( x + y )
dx

1) เงื่อนไขโปรแกรม
1. ใช้สมการดิฟเฟอเรนเชียลที่ (7.4) นําไปเขียนโปรแกรมด้วย Simulink
2. แสดงผลลัพธ์การคํานวณในรูปแบบกราฟ เปรียบเทียบข้อมูลอินพุทและเอาต์พทุ
3. นําสัญญาณ u รูปคลื่นแบบ square wave ป้ อนเข้าไปในโมเดล (สมการ) และ
แสดงผลลัพธ์ดว้ ยการพล็อตกราฟเปรียบเทียบสัญญาณอินพุทและเอาต์พทุ โดย
ใช้สมการที่ (7.5) และ (7.7)

y '+ 2 y = 1 (7.4)
y '(t ) + 2 y (t ) + u (t ) =
1 (7.5)

2) แยกสวนประกอบไดอะแกรมจากสมการ
ก่อนการเริม่ ต้นเขียนโปรแกรม ทําการพิจารณาสมการที่ (7.4) เพื่อหาความสัมพันธ์หรือ
ความเกี่ยวข้องระหว่างสมการกับบล็อกเซต แสดงความสัมพันธ์ ดังรูปที่ 7.139 ต้องทําการจัด
เรียงลําดับเทอมของสมการใหม่ โดยจัดเรียงออเดอร์ของเทอมอนุ พนั ธ์ให้เป็ นเอาต์พุท อยู่ทางฝั ง่
ขวามือ และเทอมอื่นๆ เป็ นโพเซส อยู่ทางฝั ง่ ซ้ายมือ โดยเรียงลําดับค่าคงที่ และตัวแปร ตามลําดับ
แสดงดังรูปที่ 7.139

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


บทที่ 7 (Getting Started with MATLAB Simulink)
7–94
MATLAB Simulink Programming หนา 7–95

y '+ 2 y = 1 ⇒ 1 + (−2 y ) = y ' (7.6)

เอาตพุท : Scope
คาคงที่: Constant เอาตพุท : Scope
1 + (−2 y ) =y '
การบวก/รวม: Sum อนุพันธ: Integrator
การคูณ/ขยาย: Gain
รูปที่ 7.139 ความสัมพันธ์ระหว่างสมการกับบล็อกเซต

จากรูปที่ 7.139 สรุปบล็อกเซตทีจ่ ะนํามาเขียนโปรแกรมได้ดงั ตารางที่ 7.11

ตารางที่ 7.11 บล็อกเซตทีใ่ ช้กบั สมการที่ (7.6) และการกําหนดคุณสมบัต/ิ คุณลักษณะ


ชื่อบล็อกเซต กําหนด: ชื่อคุณสมบัติ กําหนด: ค่าคุณสมบัติ
Constant Constant 1
Sum Sum ดูการกําหนดคุณสมบัตทิ ่ี 4.2
Gain Gain -2
Integrator Integrator -
Scope Scope ดูการกําหนดคุณสมบัตทิ ่ี 4.5

3) การเขียนโมเดล
นําสมการทีแ่ สดงความสัมพันธ์ระหว่างบล็อกเซตกับเทอมของสมการ และตารางบล็อก
เซตและการกําหนดคุณสมบัต/ิ คุณลักษณะที่ 7.11 มาเขียนบล็อกไดอะแกรม ได้ดงั รูปที่ 7.140

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


7–95
(Getting Started with MATLAB Simulink) บทที่ 7
หนา 7–96 MATLAB Simulink Programming

รูปที่ 7.140 โมเดลหรือบล็อกไดอะแกรม

4) การตั้งคาคุณสมบัติบล็อกเซต
บล็อกไดอะแกรมดังรูปที่ 7.140 จะต้องทําการปรับตัง้ ค่า/กําหนดค่าคุณสมบัตใิ ห้เหมาะสม
ได้แก่ ชือ่ และค่าคุณสมบัตบิ ล็อกเซต เป็ นต้น มีลาํ ดับขัน้ ตอนวิธี ดังนี้
4.1) บล็อกเซต Constant ใช้ช่ือเริม่ ต้นเดิม คือ “Constant” และกําหนดค่าคุณสมบัติ
ให้กบั บล็อกเซต ดังรูปที่ 7.141

ใสคาคงที่

คลิกปุม
รูปที่ 7.141 ตัง้ ค่าคุณสมบัตบิ ล็อกเซต (Block Parameters: Constant)

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


บทที่ 7 (Getting Started with MATLAB Simulink)
7–96
MATLAB Simulink Programming หนา 7–97

4.2) บล็อกเซต Sum ใช้ช่อื เริม่ ต้นเดิม คือ “Sum” และกําหนดค่าคุณสมบัตใิ ห้กบั บล็อก
เซต ดังรูปที่ 7.142 สังเกตช่อง Text box: “List of signs” จะใช้เครือ่ งหมาย “|++” หมายถึง กําหนดให้
สามารถรับอินพุทพอร์ตเพือ่ การรวมสัญญาณได้ มีจาํ นวน 2 พอร์ตอินพุท

กำหนดเครื่องหมาย

คลิกปุม

รูปที่ 7.142 ตัง้ ค่าคุณสมบัตบิ ล็อกเซต (Block Parameters: Sum)

4.3) บล็อกเซต Gain ใช้ช่อื เริม่ ต้น คือ “Gain” และกําหนดค่าคุณสมบัตใิ ห้กบั บล็อกเซต
ดังรูปที่ 7.143

ใสคาคงที่

คลิกปุม
รูปที่ 7.143 ตัง้ ค่าคุณสมบัตบิ ล็อกเซต (Block Parameters: Gain)

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


7–97
(Getting Started with MATLAB Simulink) บทที่ 7
หนา 7–98 MATLAB Simulink Programming

4.4) บล็อกเซต Integrator ใช้ช่อื เริม่ ต้น และกําหนดค่าคุณสมบัตใิ ห้กบั บล็อกเซตด้วยค่า


เริม่ ต้นมาตรฐาน ดังรูปที่ 7.144

รูปที่ 7.144 ตัง้ ค่าคุณสมบัตบิ ล็อกเซต (Block Parameters: Integrator)

4.5) บล็อกเซต Scope ใช้ช่อื เริม่ ต้น คือ “Scope” และกําหนดค่าคุณสมบัตใิ ห้กบั บล็อก
เซต ดังรูปที่ 7.145
ข้อสังเกตเมื่อคลิกลากและวางบล็อกเซต Scope ไว้ท่หี น้าต่าง Simulink Editor ครัง้ แรก
สัญญาณอินพุทพอร์ตจะมี 1 อินพุท ทําการปรับตัง้ ค่าสัญญาณอินพุทให้มจี ํานวนพอร์ต 2 พอร์ต
อินพุท โดย คลิ กขวาที่บล็อกเซต Scope จะปรากฏเมนูตอบโต้ คลิกเลือก Signals & Ports>Number
of Input Ports> 2 ดังรูป (หากลืม ดูการปรับตัง้ ค่าในตัวอย่างที่ 2 หัวข้อที่ 4.5)
ปรับ ตัง้ คุ ณสมบัติการแสดงผลกราฟ 2 ข้อมูล ที่หน้ าต่าง Scope ให้มีหน้ าต่ างกราฟ
แยกกันเป็ น 2 แถว 1 คอลัมน์ โดย ดับเบิ้ลคลิ กที่บล็อกเซต Scope ซึง่ จะปรากฏหน้าต่างตอบโต้
“Scope” แสดงดังรูปที่ 7.145 ต่อจากนัน้ คลิกทีเ่ มนู View และเลือก “Layout …” แล้วจะมีเมนูตอบ
โต้ให้ผใู้ ช้งานคลิกเลือกรูปแบบ Layout แสดงหน้าต่างกราฟ ทําการคลิกเลือก Layout จํานวน 2 แถว
ผลลัพธ์แสดงดังรูปข้างล่าง
ส่วนการแสดงสัญลักษณ์/คําอธิบายเส้นกราฟ ด้วย “Legend” ให้ผใู้ ช้งานคลิกทีเ่ มนู View
และเลือก “Legend …” แสดงดังรูปที่ 7.145 ข้างล่าง

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


บทที่ 7 (Getting Started with MATLAB Simulink)
7–98
MATLAB Simulink Programming หนา 7–99

คลิกเลือก

คลิกเลือก

คลิกเลือก

รูปที่ 7.145 ปรับตัง้ ค่าคุณสมบัตกิ ารแสดงผลกราฟบนหน้าต่าง Scope

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


7–99
(Getting Started with MATLAB Simulink) บทที่ 7
หนา 7–100 MATLAB Simulink Programming

5) การรันโปรแกรม
ก่อนการรันโปรแกรม ให้กาํ หนดคุณสมบัตกิ ารรันเวลาเริม่ ต้น-สิน้ สุด โดยคลิกที่ Text box:
“Simulation stop time” และใส่ขอ้ มูลเวลาเป็ น 5 วินาที เพื่อให้โปรแกรมประมวลผลจําลองโมเดล
ตัง้ แต่เวลาเริม่ ต้นที่ 0 วินาที และเวลาสิน้ สุดที่ 5 วินาที ต่อจากนัน้ คลิ กไอคอนคอนโทรล “Run”

ใสขอมูลทางเวลา

คลิกปุม Run

รูปที่ 7.146 กําหนดคุณสมบัตกิ ารรันโมเดล

6) ผลลัพธการรันโปรแกรม
ดูผลลัพธ์การรันโมเดลโดย ดับเบิ้ ลคลิ กที่ บล็อกเซต Scope จะปรากฏหน้ าต่างการ
แสดงกราฟจํานวน 2 กราฟ บนหน้าต่าง Scope แสดงดังรูปที่ 7.147

รูปที่ 7.147 กราฟผลลัพธ์จากการรันโมเดล Continuous System

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


บทที่ 7 (Getting Started with MATLAB Simulink)
7–100
MATLAB Simulink Programming หนา 7–101

ทดลองนําสัญญาณ u (t ) รูปคลื่นแบบ Square wave ป้ อนเพิม่ เข้าไปในโมเดล (ในสมการ


ที่ (7.5), (7.7)) และแสดงผลลัพธ์โดยพล็อตกราฟเปรียบเทียบสัญญาณระหว่างอินพุทและเอาต์พทุ

1 − 2 y (t ) + u (t ) =
y '(t ) (7.7)

โมเดลตามสมการที่ (7.7) แสดงดังรูปที่ 7.148

รูปที่ 7.148 บล็อกไดอะแกรมทีเ่ พิม่ สัญญาณ (Signal Generator) u (t )

7) สรางและปรับปรุงบล็อกไดอะแกรม
จากรูปบล็อกไดอะแกรมที่ 7.148 ทําการนํ าโมเดลในรูปที่ 7.140 มาเพิม่ เติมสัญญาณ
อินพุท u (t ) ด้วยบล็อกเซต Signal Generator กําหนดค่าคุณสมบัตกิ ารแสดงผลลัพธ์ขอ้ มูลเอาต์พุท
ด้วยบล็อกเซต Scope และการตัง้ ค่าคุณสมบัติบล็อกเซต Sum การตัง้ การปรับตัง้ ค่าคุณสมบัติ
บล็อกเซต จํานวน 3 บล็อกเซต มีวธิ กี ารดังนี้

7 .1) บล็อ กเซต Signal Generator ใช้ช่ือ เริ่ม ต้น เดิม คือ “Signal Generator” และ
กําหนดค่าคุณสมบัตใิ ห้กบั บล็อกเซต ดังรูปที่ 7.149 ซึง่ จะใช้สญ
ั ญาณแบบ Square wave มีความถี่
ขนาด 1 Rad/Sec. และมีแอมพลิจดู ขนาด 1 หน่วย

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


7–101
(Getting Started with MATLAB Simulink) บทที่ 7
หนา 7–102 MATLAB Simulink Programming

รูปที่ 7.149 กําหนดค่าคุณสมบัตบิ ล็อกเซต Signal Generator

7.2) บล็อกเซต Sum ใช้ช่อื เริม่ ต้นเดิม คือ “Sum” และกําหนดค่าคุณสมบัตใิ ห้กบั บล็อก
เซต ดัง รูป ที่ 7.150 สัง เกตช่ อ ง Text box: “List of signs” จะใช้เ ครื่อ งหมาย “|+++” หมายถึง
กําหนดให้สามารถรับอินพุทพอร์ตเพือ่ การรวมสัญญาณได้เป็ นจํานวน 3 พอร์ต แสดงดังรูปข้างล่าง

กำหนดเครื่องหมาย

คลิกปุม
รูปที่ 7.150 ตัง้ ค่าคุณสมบัตบิ ล็อกเซต (Block Parameters: Sum)

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


บทที่ 7 (Getting Started with MATLAB Simulink)
7–102
MATLAB Simulink Programming หนา 7–103

7.3) บล็อกเซต Scope ใช้ช่อื เริม่ ต้นเดิม คือ “Scope” ซึ่งการนํ าโมเดลมาแก้ไข ในส่วน
ของบล็อกเซต Scope จะมีสญ ั ญาณอินพุทเพียง 2 อินพุท ทําการเพิม่ จํานวนอินพุทให้เป็ น 3 พอร์ต
โดย คลิ กขวาที่ บล็อกเซต Scope จะปรากฏเมนู ตอบโต้ คลิกเลือก Signals & Ports>Number of
Input Ports> 3 ดังรูป เมื่อคลิกเลือกจํานวนพอร์ตแล้ว บล็อกเซต Scope จะปรากฏจํานวนอินพุท
พอร์ตเพิม่ ขึน้ ตามทีเ่ ลือกไว้
คลิกเลือก คลิกเลือก

รูปที่ 7.151 การกําหนดคุณสมบัตบิ ล็อกเซต Scope โดยเพิม่ จํานวนอินพุทพอร์ตเป็ น 3 พอร์ต

คลิกเลือก

เลือกกลุมขอมูลชุดที่ 2
เลือกขอมูลอินพุทเสนที่ 2
เลือกความหนาเสน
เลือกสีเสน
คลิกปุม
รูปที่ 7.152 กําหนดค่าคุณสมบัตกิ ารแสดงผลกราฟบนหน้าต่าง Scope ชุดข้อมูล u (t )

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


7–103
(Getting Started with MATLAB Simulink) บทที่ 7
หนา 7–104 MATLAB Simulink Programming

เมื่อสร้างเส้นเชื่อมต่อระหว่างบล็อกเซตเสร็จแล้ว ดับเบิ้ลคลิ กที่บล็อกเซต Scope เพื่อ


ปรับตัง้ ค่าคุณสมบัตกิ ารแสดงผลกราฟ สําหรับข้อมูลจํานวน 3 ข้อมูล ซึง่ จะปรากฏหน้าต่างตอบโต้
“Scope” แสดงดังรูปที่ 7.152
ต่อจากนัน้ คลิกทีเ่ มนู View และเลือก “Style …” จะมีหน้าตอบโต้ “Style: Scope” ทําการ
ปรับต้องค่าเส้นกราฟของสัญญาณอินพุท u (t ) เส้นที่ 3 แสดงดังรูปข้างบน

8) รันโปรแกรมและผลลัพธ
ก่อนการรันโปรแกรม ให้กาํ หนดคุณสมบัตกิ ารรันเวลาเริม่ ต้น-สิน้ สุด โดยคลิกที่ Text box:
“Simulation stop time” และใส่ขอ้ มูลเวลาเป็ น 20 วินาที เพื่อให้โปรแกรมประมวลผลจําลองโมเดล
ตัง้ แต่เวลาเริม่ ต้นที่ 0 วินาที และเวลาสิน้ สุดที่ 20 วินาที ต่อจากนัน้ คลิ กไอคอนคอนโทรล “Run”
ต่ อ จากนัน้ ดูผ ลลัพ ธ์ก ารรัน โมเดล โดยดับเบิ้ ลคลิ กที่ บล็อกเซต Scope จะปรากฏ
หน้าต่างการแสดงกราฟจํานวน 3 กราฟ บนหน้าต่าง Scope แสดงดังรูปที่ 7.153

รูปที่ 7.153 กราฟผลลัพธ์จากการรันโมเดล Continuous System เมือ่ เพิม่ สัญญาณอินพุท u (t )

ตามรูปที่ 7.153 จะสังเกตุเห็นว่า เส้นกราฟจะถูกแบ่งการแสดงผลทางบล็อกเซต Scope


เป็ น 2 แถว/กลุ่ม คือ y’ และ y, Square wave เนื่องจากได้กําหนดคุณสมบัติการแสดงผลกราฟ
“Layout” ไว้เป็ นจํานวน 2 แถว 1 คอลัมน์ จึงทําให้กราฟของข้อมูลสัญญาณ y และ Square wave
ปรากฏบน Space เดียวกัน ถ้าหากว่าผูใ้ ช้งานต้องการให้ขอ้ มูลสัญญาณทัง้ 3 เส้น แสดงผลลัพธ์
แยกกัน สามารถทําได้โดยการตัง้ ค่าคุณสมบัตใิ ห้กบั หน้าต่าง “Scope” ดังนี้

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


บทที่ 7 (Getting Started with MATLAB Simulink)
7–104
MATLAB Simulink Programming หนา 7–105

ทีห่ น้าต่าง “Scope” (1) คลิกทีไ่ อคอนคอนโทรล “Configuration Properties” จะปรากฏ


หน้าต่าง “Configuration Properties: Scope” ขึน้ ไปทีแ่ ท็บ “Main” (2) คลิกทีป่ ่ มุ “Layout” และ (3)
ทําการเลือกรูปแบบของ Layout ทีจ่ ะให้แสดงผลบนหน้าต่าง “Scope” ซึง่ มีรูปแบบเป็ น 3 แถว และ
1 คอลัมน์ เสร็จแล้วคลิกปุ่ม “OK” จะได้ผลลัพธ์แสดงดังรูปที่ 7.155

(1) คลิก

(2) คลิกปุม
(3) คลิกเลือก

รูปที่ 7.154 การกําหนดคุณสมบัตใิ ห้กบั บล็อกเซต Scope เพือ่ แสดงผลข้อมูลจํานวน 3 ข้อมูล

รูปที่ 7.155 ผลลัพธ์จากการปรับตัง้ ค่าคุณสมบัตบิ ล็อกเซต Scope เป็ นจํานวน 3 แถว


เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink
7–105
(Getting Started with MATLAB Simulink) บทที่ 7
หนา 7–106 MATLAB Simulink Programming

สรุปทายบท
เนื้อหาในบทนี้เป็ นการเรียนรูก้ ารใช้งานโปรแกรม MATLAB Simulink แบบปูพน้ื ฐาน โดย
เริม่ ตัง้ แต่เบื้องต้น เริม่ การใช้งานโปรแกรม Simulink คําแนะนํ าเกี่ยวกับคุณสมบัติของหน้ าต่าง
โปรแกรมและบล็อกไลบรารี การใช้งานบล็อกคําสัง่ การเปิ ดงาน/การบันทึกงานโมเดล การพิมพ์งาน
โมเดลออกทางเครื่องพิมพ์ การใช้คยี ด์ ่วนและเมาส์ประกอบการเขียนโปรแกรมเพือ่ ความรวดเร็วใน
การสร้างโมเดล รวมทัง้ มีตวั อย่างการฝึกการเขียนโมเดลและการโปรแกรมมิง่ แบบทีละบล็อกเซต/
บล็อกไดอะแกรม และการปรับตัง้ ค่าคุณสมบัตใิ ห้กบั บล็อกเซตต่างๆ แบบพอให้เข้าใจคอนเซ็ปต์
หรือมองเห็นรูปแบบภาพรวมของบล็อกไดอะแกรมว่าทํางานอย่างไร

เริม่ ต้นใช้งานโปรแกรม MATLAB Simulink


บทที่ 7 (Getting Started with MATLAB Simulink)
7–106
เกีย่ วกับผู้เขียน

I am Wits:
ชอบเรี ยน ชอบศึกษาหาความรู ้ เขียนโปรแกรม สร้างเพจ/บล็อก แชร์ความรู ้ ฯลฯ
- สุวิทย์ เมาะราษี
- เกิด 23 ตุลาคม 2517 ที่จงั หวัดร้อยเอ็ด
- | โปรแกรมเมอร์อิสระ |
- E-mail: suvit.sci@gmail.com, มือถือ: 08 5579 4707

การศึกษา:
- ม.3 โรงเรี ยนโพธิกลางพิทยาคม จังหวัดร้อยเอ็ด
- ปวช. (ไฟฟ้ากาลัง) วิทยาลัยเทคนิคร้อยเอ็ด จังหวัดร้อยเอ็ด
- ปวส. (ไฟฟ้ากาลัง) วิทยาลัยเทคนิคท่าหลวงซิเมนต์ไทยอนุสรณ์ จังหวัดสระบุรี

งานที่สนใจ:
- Image Processing Technology, Computer Vision, Neural Network Algorithm, Deep Learning:
Convolutional Neural Network: CNN., and Micro-Controller Programming etc.
- Self-study and Self-development, Programming (C, C#, C++, Python, and MATLAB), Control
Electronic using micro-controllers and programming etc.

Line QR-code:

You might also like