Mat Lab Compact
-
Upload
imagine-imm -
Category
Documents
-
view
149 -
download
0
Transcript of Mat Lab Compact
เอกสารประกอบการอบรม MATLAB
- 1 -
เอกสารประกอบการอบรม การใชงานโปรแกรมสําเร็จรูป
MATMAT
ขนิษฐา ชมภูวิเศษ
โปรแกรมวิชาคณิตศาสตรและสถิติประยุกต คณะวทิยาศาสตรและเทคโนโลยี มหาวทิยาลัยราชภฏันครราชสีมา
สวนที่สวนที่ 11 ทําความรูจักกับโปรแกรมทําความรูจักกับโปรแกรม MMAATTLLAABB
เอกสารประกอบการอบรม MATLAB
- 2 -
บทนํา
MATLAB (MATrix LABoratory) เปนโปรแกรมที่ประมวลผลบนลักษณะของเมทริกซ
สําหรับการคํานวณทางดานวิทยาศาสตรและวิศวกรรมศาสตร จัดไดวาเปนโปรแกรมคอมพิวเตอร
สมรรถนะสูงเพ่ือใชในการคํานวณทางเทคนิค โดยไดรวมวิธีการคํานวณ การเขียนโปรแกรมและการ
แสดงผลรวมดานกราฟฟคไวในโปรแกรมไดอยางมีประสิทธิภาพ และงายตอการใชงาน นอกจากนี้
ลักษณะของการเขียนคําส่ัง หรือสมการในการคํานวณก็ไมยุงยากจนเกินไป และมีการติดตอกับผูใช
ทางกราฟฟกส (GUI : Graphics User Interface) อีกดวย ลักษณะงานทั่วไปที่นําไปใช เชน การ
คํานวณทางดานคณิตศาสตรและวิทยาศาสตรทั่วไป การสรางแบบจําลองทางดานวิทยาศาสตรและ
วิศวกรรมศาสตร การวิเคราะหขอมูลทางสถิติ และดานการแสดงผลการคํานวณในรูปแบบของ
กราฟ
สําหรับเอกสารฉบับนี้มีจุดประสงคเพ่ือจะแนะนําใหนักศึกษาเขาใจถึงพ้ืนฐานเบื้องตนของการ
ใชงานโปรแกรม MATLAB เพ่ือการคํานวณทางดานคณิตศาสตรที่ใชในการเรียนการสอนใน
ระดับอุดมศึกษาเทานั้น สําหรับรายละเอียดของการใชชุดคําส่ัง MATLAB นั้น นักศึกษาสามารถ
ศึกษาคนควาไดจาก
- เอกสารประกอบการใชงานหรือคูมือของ MATLAB
- หารายละเอียดเพิ่มเติมไดจาก Help (ระบบชวยเหลือ) ของโปรแกรม MATLAB
- สอบถามขอสงสัยทาง Internet ของบริษัทผูผลิต (MathWork Inc.) ไดที่เว็บไซต
http://www.mathwork.com นอกจากนี้ผูใชที่มีการลงทะเบียนอยางถูกตองกับทางผูผลิต
จะไดรับโปรแกรมเพิ่มเติมหรือการแกไขขอผิดพลาดตาง ๆ เพ่ิมเติมจากทางบริษัทอีก
ดวย
เอกสารประกอบการอบรม MATLAB
- 3 -
เริ่มใชงานโปรแกรม
สวนประกอบตาง ๆ ของโปรแกรม
Menu Bar และ Tools Bar สวนในการใชคําส่ังพ้ืนฐาน เชน การเปด ปด บันทึก แสดงหนาตาง จัดวางตําแหนง การเปลี่ยนตาํแหนงทํางานปจจุบัน (Current Directory) เปนตน
Launch Pad
สวนในการเชื่อมตอ (Link) ไปยังชุดคาํส่ังสําเร็จรูปที่ใชในการประมวลผลทางดานวิทยาศาสตรและวิศวกรรมศาสตรข้ันสูง หรือ สวนชวยเหลือตาง ๆ ภายในโปรแกรม
Launch WorkSpac Command
Command Current
Menu Bar ,
เอกสารประกอบการอบรม MATLAB
- 4 -
WorkSpace
สวนที่จัดกระทํา และแสดงตัวแปร ขนาดของตัวแปรตางที่ถูกสรางข้ึน หรือถูกใชงานในการคํานวณ
Command Window
สวนที่ใชในการปอนคําส่ัง หรือตัวแปรทางการคํานวณตาง ๆ เพ่ือใชโปรแกรมประมวลผล Command History
สวนที่ใชเก็บประวัติการใชงานคําส่ังในการคํานวณตาง ๆ ของผูใชงานโปรแกรมทีถู่กพิมพลงบน Command Windows Current Directory
สวนที่แสดงตาํแหนงทํางานปจจุบันบนเครื่องคอมพิวเตอรที่โปรแกรมกําลังประมวลผลอยู
โปรแกรม MATLAB เปนโปรแกรมที่ประมวลผลบนลักษณะของเมทริกซ ลักษณะขอมูล
โดยทั่วไปของที่โปรแกรมประมวลผลจึงมีลักษณะเปนเมทริกซ หรือเวกเตอรของชุดตัวเลขหรือ
ขอความ โดยมีวิธีการสรางขอมูล ดังนี ้
1. การสรางเวกเตอรขอมูล โดยใหชุดขอมูลอยูภายในเครื่องหมาย “[ ]” และแบงขอมูลโดยใช
เครื่องหมาย “,” หรือการเวนวรรค เชน
x = [ 1.1, 2.2, 3.3, 4.4, 5.5 , 6.6 ] ↵ หรือ x = [ 1.1 2.2 3.3 4.4 5.5 6.6] ↵ ซึ่งทั้งสองวิธีใหผลลัพธเปนเวกเตอรขนาด 1 แถว 5 คอลัมน เชนเดียวกัน 2. การสรางเมทริกซขอมูล มีลักษณะเชนเดียวกับการสรางเวกเตอร แตใชเครื่องหมาย “;” ในการระบุใหัโปรแกรมสรางขอมูลแถวใหมข้ึน เชน
x = [ 1.1, 2.2, 3.3 ; 4.4, 5.5 , 6.6 ] ↵ หรือ x=[ 1.1 2.2 3.3 ; 4.4 5.5 6.6] ↵ ซึ่งทั้งสองวิธีใหผลลัพธเปนเมทริกซขนาด 2 แถว 3 คอลัมน เชนเดียวกัน 3. การสรางขอมูลจากการกําหนดระยะหางขอมูล โดยใชเครื่องหมาย “:” เชน x= [ 1 : 10 ; 11 : 20] ↵ จะไดเมทริกซขนาด 2 แถว 10 คอลัมน โดยขอมูลในแตละแถวมีลักษณะการเพิม่ทีละ 1 (Default) x= [ 1 : 2 : 10 ] ↵ จะไดเวกเตอรขนาด 1 แถว 5 คอลัมน โดยขอมูลในแตละแถวมีลักษณะการเพิ่มทีละ 2
สวนที่สวนที่ 22 การสรางเมทริกซและองคประกอบของเมทริกซการสรางเมทริกซและองคประกอบของเมทริกซ
เอกสารประกอบการอบรม MATLAB
- 5 -
4. การเขาถึงองคประกอบขอมูลในเมทริกซและเวกเตอร สามารถทําไดดังนี ้- การเขาถึงแบบระบุตาํแหนง x= [ 1 : 10 ; 11 : 20] ↵ (สรางเมทริกซขนาด 2 แถว 10 คอลัมน) x(2, 5) ↵ (แสดงขอมูลของเมทริกซ x ณ แถวที่ 2 คอลัมนที ่5) - การเขาถึงแบบแถวและแบบคอลัมน ใชเครื่องหมาย “:” x= [ 1 : 10 ; 11 : 20] ↵ (สรางเมทริกซขนาด 2 แถว 10 คอลัมน) x(2, : ) ↵ (แสดงขอมูลของเมทริกซ x ณ แถวที่ 2 ทุกคอลมัน) หรือ x= [ 1 : 10 ; 11 : 20] ↵ (สรางเมทริกซขนาด 2 แถว 10 คอลัมน) x( : , 5) ↵ (แสดงขอมูลของเมทริกซ x ณ คอลัมนที่ 5 ทุกแถว) - การเขาถึงแบบกาํหนดชวง ใชเครื่องหมาย “:” x= [ 1 : 10 ; 11 : 20 ; 21: 30] ↵ (สรางเมทริกซขนาด 2 แถว 10 คอลัมน) x(2 , 5:7 ) ↵ (แสดงขอมูลของเมทริกซ x ณ แถวที่ 2 คอลมันที่ 5 ถึง 7) หรือ x(2:3 , 7 ) ↵ (แสดงขอมูลของเมทริกซ x ณ แถวที่ 2 ถึง 3 คอลัมนที่ 7) หรือ x(2:3 , 5:7 ) ↵ (แสดงขอมูลของเมทริกซ x ณ แถวที่ 2 ถึง 3 คอลัมนที ่5 ถึง 7) 5. การสรางเมทริกซจากเมทริกซหรือเวกเตอร สามารถทําไดดังนี ้ x = zeros(3) , y=ones(3) ↵ z = [x , y] ↵ (สรางเมทริกซขนาด 3 แถว 6 คอลัมน) หรือ z = [x ; y] ↵ (สรางเมทริกซขนาด 6 แถว 3 คอลัมน)
ขอมูลเบื้องตน และความชวยเหลือ help เรียกดูคําอธบิายและวิธกีารใชงานคําส่ังในเบื้องตน เชน help sin ↵
เปนตน what แสดงตาํแหนงทํางานปจจุบนัพรอมทั้งรายชื่อไฟลในตําแหนงทํางานนั้น ๆ
type แสดงขอมูลชุดคําส่ังภายในโปรแกรม เชน type jacobian ↵ เปนตน
lookfor แสดงรายการคําส่ังอ่ืน ๆ ที่มีความเกี่ยวของกับคําส่ังทีต่องการคนหา เชน lookfor cos ↵ เปนตน
สวนที่สวนที่ 33 คําสั่งเบือ้งตนและการใชงานคําสั่งเบือ้งตนและการใชงาน
เอกสารประกอบการอบรม MATLAB
- 6 -
demo แสดงตัวอยางและผลของการใชงานคาํส่ังตาง ๆ ในแบบเสมือนจริง diary บันทึกการประมวลผลลงในไฟลที่ระบุ เชน
diary c:\result.txt ↵ x=[1 2 3 4 5 6] ↵ sin(x) ↵ diary off ↵ เปนตน
dir แสดงรายชื่อไฟลในตาํแหนงทํางานปจจุบนั
delete ลบรายชื่อไฟลตามที่ระบ ุ เชน delete c:\result.txt ↵ เปนตน cd เปลี่ยนตาํแหนงทํางานไปยงัตําแหนงทํางานที่ระบ ุ เชน cd
c:\windows ↵เปนตน version แสดงรุนของโปรแกรมที่ใชงาน
info แสดงขอมูล ลิขสิทธิ์และรายละเอียดทางการคาอ่ืน ๆ ของโปรแกรม บันทึก แสดง จัดรูปแบบการแสดงผล whos แสดงตัวแปรทุกตัวที่ถูกประมวลผลในโปรแกรม
clc ลบคําส่ังบนหนาตางคาํส่ัง (Command window) clf ลบภาพบนหนาตางรูปภาพ (figure) clear ลบตัวแปรที่ระบ ุ เชน clear all ↵ (ลบตัวแปรทกุตัว) หรือ
clear x1 b1 ↵ (ลบตัวแปร x1 และ ตัวแปร b1) เปนตน format จัดรูปแบบการแสดงผลตัวเลข เชน
format short ↵ x1 = 2.3235236523323 → 2.3235 format long ↵ x1 = 2.3235236523323 → 2.32352365233230 format long e ↵ x1 = 2.3235236523323 → 2.323523652332300e+000 เปนตน
disp แสดงขอความบนหนาตางคาํส่ัง เชน
disp (['Result is ' num2str(5.322353532323) ' Bath ']) ↵ เปนตน
fprintf แสดงขอความบนหนาตางคาํส่ัง เชนx=23.2532355233652 ↵
เอกสารประกอบการอบรม MATLAB
- 7 -
fprintf(‘value = %15.10f’, x) ↵ เปนตน input รับคาจากคบีอรด เชน x=input(‘enter value :’) ↵ เปนตน save บันทึกขอมูลตวัแปรลงในไฟล (*.mat) เชน save myvar.mat
x1 y1 ↵ เปนตน load อานขอมูลตัวแปรจากไฟล (*.mat) เชน load myvar.mat ↵
เปนตน เครื่องหมายการคํานวณทางคณิตศาสตร + เครื่องหมายบวก เขน x= 5 , y=10 , x+y ↵ เปนตน - เครื่องหมายลบ เขน x= 5 , y=10 , x-y ↵ เปนตน * , .* เครื่องหมายคูณ เขน x= 5 , y=10 , x*y ↵ เปนตน และ
x= [1 2 3; 1 2 3 ; 1 2 3] ↵ y= [10 20 30; 10 20 30; 10 20 30] ↵ x.*y ↵ เปนตน (ขนาดของเมทริกซ x และ y จะตองเทากัน)
/ , ./ เครื่องหมายหาร (หารโดยใช x เปนตัวตัง้ และ y เปนตัวหาร) เขน x= 5 , y=10 , x/y ↵ เปนตน และ x= [1 2 3; 1 2 3 ; 1 2 3] ↵ y= [10 20 30; 10 20 30; 10 20 30] ↵ x./y ↵ เปนตน (ขนาดของเมทริกซ x และ y จะตองเทากัน)
\ , .\ เครื่องหมายหาร (หารโดยใช y เปนตัวตั้ง และ x เปนตัวหาร) เขน x= 5 , y=10 , x\y ↵ เปนตน และ x= [1 2 3; 1 2 3 ; 1 2 3] ↵ y= [10 20 30; 10 20 30; 10 20 30] ↵ x.\y ↵ เปนตน (ขนาดของเมทริกซ x และ y จะตองเทากัน)
^ , .^ เครื่องหมายยกกําลัง เชน x= 5 , y=10 , x^y ↵ เปนตน และ x= [1 2 3; 1 2 3 ; 1 2 3] ↵ y= [5 6 7; 10 20 30; -1 -2 -3] ↵ x.^y ↵ เปนตน (ขนาดของเมทริกซ x และ y จะตองเทากัน)
’ , .’ เครื่องหมายทรานสโพส เชนx= [2-i 3+i 5-i;1-i 2-i 5-i] ↵ x’ ↵ หรือ x= [2-i 3+i 5-i;1-i 2-i 5-i] ↵
เอกสารประกอบการอบรม MATLAB
- 8 -
x.’ ↵ (สังยุค) เปนตน เครื่องหมายตรรกศาสตร < เครื่องหมายนอยกวา เชน x=1 ,y=0, x<y ↵ เปนตน > เครื่องหมายมากกวา เชน x=1 ,y=0, x>y ↵ เปนตน <= เครื่องหมายนอยกวาหรือเทากับ เชน x=1 ,y=0, x<=y ↵ เปนตน >= เครื่องหมายมากกวาหรือเทากับ เชน x=1 ,y=0, x>=y ↵ เปนตน == เครื่องหมายเทากับ เชน x=1 ,y=0, x==y ↵ เปนตน ~= เครื่องหมายไมเทากับ เชน x=1 ,y=0, x~=y ↵ เปนตน & เครื่องหมายและ เชน x=1 , y=0, x & y ↵ เปนตน | เครื่องหมายหรือ เชน x=1 , y=0, x | y ↵ เปนตน ~ เครื่องหมายนิเสธ เชน x=1 , y=0, ~(x & y) ↵ เปนตน คาคงที ่และตัวแปรสงวนของโปรแกรม ans ตัวแปรที่ใชเก็บผลลัพธของการคํานวณที่ถูกสรางข้ึนโดยโปรแกรม eps ตัวแปรที่ระบคุาจดุทศนิยมที่ต่ําสุดที่อยูระหวาง 0 ถึง 1 ของโปรแกรมที่
ยังคงใหผลลัพธในการคํานวณที่แมนยํา realmin, realmax
คาจาํนวนจริงที่นอยที่สุด , คาจาํนวนจริงที่มากที่สุด ที่โปรแกรมสามารถประมวลผลไดอยางแมนยํา
pi ตัวแปร π (3.141592653589793e+000) i, j ตัวแปรจํานวนจินตภาพ
Inf ตัวแปรอนนัต
NaN ตัวแปรที่ไมเปนตัวเลข (Not-a-Number) เวกเตอร และเมทริกซพิเศษ zeros สรางเมทริกซศูนย เชน x=zeros (3,2) ↵ หรือ x=zeros (3)
↵ เปนตน ones สรางเมทริกซหนึ่ง เชน x=ones (3,2) ↵ หรือ x=ones (3) ↵
เปนตน eye สรางเมทริกซเอกลักษณ เชน x=eye (3,2) ↵ หรือ x=eye (3) ↵
เอกสารประกอบการอบรม MATLAB
- 9 -
เปนตน diag สรางเมทริกซทะแยงโดยใชเวกเตอรที่กําหนดเปนแนวทะแยง เชน
x=[1 2 3] ↵ y=diag(x) ↵ เปนตน
magic สรางเมทริกซจัตุรัสมิต ิn ที่มีสมาชิกตั้งแต 1 ถึง n^2 ซึ่งมีผลรวมของแตละหลัก แตละแถว และแนวทะแยงเทากัน เชน magic(3) ↵ เปนตน
linspace สรางเวกเตอรที่มีระยะการแบงชวงเทา ๆ กัน เชน x = linspace(0,1,5) ↵ จะทําการสรางเวกเตอรที่มีคาตาํสุดที ่0 และ สูงสุดที่ 1 มีจํานวน 5 หลัก เปนตน
logspace สรางเวกเตอรที่มีระยะการแบงชวงเทา ๆ กัน เชน
x = logspace(0,1,5) ↵ จะทําการสรางเวกเตอรที่มีคาตาํสุดที ่log 0 และสูงสุดที่ log 1 มีจํานวน 5 หลัก เปนตน
rand สรางเมทริกซแบบสุมคา เชน x=rand (3,5) ↵ เปนตน rot90 หมุนเมทริกซทวนในทศิทางเข็มนาฬิกาในมุม 90 องศา เชน
x=[1 2 3; 4 5 6; 7 8 9] ↵ rot90 (x) ↵ เปนตน
fliplr กลับดานเมทริกซจากซายมาเปนขวา เชน x=[1 2 3; 4 5 6; 7 8 9] ↵ fliplr (x) ↵ เปนตน
flipud กลับดานเมทริกซจากบนลงลาง เชน x=[1 2 3; 4 5 6; 7 8 9] ↵ flipud (x) ↵ เปนตน
tril แปลงเปนเมทริกซสามเหลี่ยมลาง เชน x=[1 2 3; 4 5 6; 7 8 9] ↵ tril (x) ↵ เปนตน
triu แปลงเปนเมทริกซสามเหลี่ยมบน เชน x=[1 2 3; 4 5 6; 7 8 9] ↵ triu (x) ↵ เปนตน
inv หาอินเวอรสของเมทริกซ เชน x=[1 2 3; 4 5 6; 7 8 9] ↵ inv (x) ↵ เปนตน
rref หาเมทริกซลดรูป เชน x=[1 2 3; 4 5 6; 7 8 9] ↵ rref (x) ↵ เปนตน
size แสดงขนาดของเมทริกซ เชน x=[1 2 3 4; 5 6 7 8] ↵ [r , c]= size (x) ↵ เปนตน
เอกสารประกอบการอบรม MATLAB
- 10 -
sort เรียงขอมูลภายในเมทริกซจากนอยไปหามาก เชน
x=[5 2 6; 4 5 8; 0 9 1] ↵ sort (x) ↵ เปนตน det แสดงคาดีเทอรมิแนนทของเมทริกซ เชน x=[1 2 3; 4 5 6; 7 8 9]
↵ det (x) ↵ เปนตน
trace แสดงผลบวกแนวทะแยงของเมทริกซ เชน x=[1 2 3; 4 5 6; 7 8 9] ↵ trace (x) ↵ เปนตน
eig แสดงเวกเตอรเจาะจงของเมทริกซ เชน x=[1 2 3; 4 5 6; 7 8 9] ↵ [v,d]=eig(x) ↵ เปนตน v คือ เวกเตอรเจาะจงของเมทริกซ d คือ เมทริกซที่มีแนวทะแยงเปนคาเจาะจงของเมทริกซ
ฟงกชันทางคณิตศาสตรพืน้ฐาน abs แสดงคาสัมบรูณของตัวแปร เชน x=-2 ↵ abs(x) ↵ เปนตน sqrt แสดงคารากที ่2 ของตัวแปร เชน x=9 ↵ sqrt(x) ↵ เปนตน lcm แสดงคาตัวคณูรวมนอยของตัวแปรหรือเวกเตอร เชน
a=[2 4 6] , b=[8 10 12] ↵ lcm(a,b) ↵ เปนตน
gcd แสดงคาตัวหารรวมมากของตัวแปรหรือเวกเตอร เชน a=[2 4 6] , b=[8 10 12] ↵ gcd(a,b) ↵ เปนตน
factorial แสดงคาแฟคทอเรียล เชน factorial(5) ↵ เปนตน mod แสดงเศษเหลือจากการหาร เชน x=5.25 , y=5 , mod(x,y) ↵
เปนตน round แสดงคาตัวเลขจํานวนเต็มทีป่ดเศษ เชน x= 2.53235↵ round
(x) ↵ เปนตน fix แสดงคาตัวเลขจํานวนเต็มทีป่ดเศษใหเขาใกล 0 มากที่สุด เชน
x= 2.53235↵ fix (x) ↵ เปนตน exp แสดงคาเอกซโพเนนทเชียล เชน x=1 ↵ exp(x) ↵ เปนตน log แสดงคาลอการิทึม ฐาน e เชน log(1) ↵ เปนตน
เอกสารประกอบการอบรม MATLAB
- 11 -
log10 แสดงคาลอการิทึม ฐาน 10 เชน log10(1) ↵ เปนตน isprime ตรวจสอบคาจาํนวนเฉพาะ เชน isprime(7) ↵ เปนตน ฟงกชันประมวลผลเซต union แสดงผลลัพธจากการยูเนียน เชน x=[2 3 4 5 6] , y=[0 4 6 7
9] ↵ union (x,y) ↵ เปนตน
intersect แสดงผลลัพธจากการอินเตอรเซก เชน x=[2 3 4 5 6] , y=[0 4 6 7 9] ↵ intersect (x,y) ↵ เปนตน
setdiff แสดงผลลัพธจากผลตาง เชน x=[2 3 4 5 6] , y=[0 4 6 7 9] ↵ setdiff (x,y) ↵ เปนตน
ฟงกชันตรีโกณมิติ sin, asin, sinh, asinh
sin แสดงคา sine เชน sin(30) ↵ เปนตน (หนวยเปนเรเดียน) asin แสดงคา arcsine เชน asin(45) ↵ เปนตน sinh แสดงคา hyperbolic sine เชน sinh(60) ↵ เปนตน asinh แสดงคา hyperbolic arcsine เชน asinh(90) ↵ เปนตน
cos, acos, cosh, acosh
cos แสดงคา cosine เชน cos(30) ↵ เปนตน (หนวยเปนเรเดียน) acos แสดงคา arccosine เชน acos (45) ↵ เปนตน cosh แสดงคา hyperbolic cosine เชน cosh(60) ↵ เปนตน acosh แสดงคา hyperbolic arccosine เชน acosh(90) ↵ เปนตน
tan, atan, tanh, atanh
tan แสดงคา tangent เชน tan(30) ↵ เปนตน (หนวยเปนเรเดียน) atan แสดงคา arctangent เชน atan(45) ↵ เปนตน tanh แสดงคา hyperbolic tangent เชน tanh(60) ↵ เปนตนatanh แสดงคา hyperbolic arctangent เชน atanh(90)
เอกสารประกอบการอบรม MATLAB
- 12 -
↵ เปนตน cot, acot, coth, acoth
cot แสดงคา cotangent เชน cot(30) ↵ เปนตน (หนวยเปนเรเดียน) acot แสดงคา arccotangent เชน acot(45) ↵ เปนตน coth แสดงคา hyperbolic cotangent เชน coth(60) ↵ เปนตน acoth แสดงคา hyperbolic arccotangent เชน acoth(90) ↵ เปนตน
sec, asec, sech, asech
sec แสดงคา secant เชน sec(30) ↵ เปนตน (หนวยเปนเรเดียน) asec แสดงคา arcsecant เชน asec(45) ↵ เปนตน sech แสดงคา hyperbolic secant เชน sech(60) ↵ เปนตน asech แสดงคา hyperbolic arcsecant เชน asech(90) ↵ เปนตน
csc, acsc, csch, acsch
csc แสดงคา cosecant เชน csc(30) ↵ เปนตน (หนวยเปนเรเดียน) acsc แสดงคา arccossecant เชน acsc(45) ↵ เปนตน csch แสดงคา hyperbolic cosecant เชน csch(60) ↵ เปนตน acsch แสดงคา hyperbolic arccosecant เชน acsch(90) ↵ เปนตน
การคํานวณสถิติพื้นฐาน max แสดงคาสูงสุดของขอมูลแตละหลัก เชน x=[1 2 3; 4 5 6; 7 8 9]
↵ max (x) ↵ เปนตน
min แสดงคาต่าํสุดของขอมูลแตละหลัก เชน x=[1 2 3; 4 5 6; 7 8 9] ↵ min (x) ↵ เปนตน
mean แสดงคาเฉล่ียของขอมูลแตละหลัก เชน x=[1 2 3; 4 5 6; 7 8 9] ↵
เอกสารประกอบการอบรม MATLAB
- 13 -
mean (x) ↵ เปนตน
median แสดงคามัธยฐานของขอมูลแตละหลัก เชน x=[1 2 3; 4 5 6; 7 8 9] ↵ median (x) ↵ เปนตน
var แสดงคาความแปรปรวนของขอมูลแตละหลัก เชน
x=[1 2 3; 4 5 6; 7 8 9] ↵ var (x) ↵ เปนตน std แสดงคาสวนเบี่ยงเบนมาตรฐานของขอมูลแตละหลัก เชน
x=[1 2 3; 4 5 6; 7 8 9] ↵ std (x) ↵ เปนตน sum แสดงคาผลรวมของขอมูลแตละหลัก เชน x=[1 2 3; 4 5 6; 7 8 9]
↵ sum (x) ↵ เปนตน
cumsum แสดงคาผลรวมสะสมของขอมูลแตละหลัก เชน
x=[1 2 3; 4 5 6; 7 8 9] ↵ cumsum (x) ↵ เปนตน prod แสดงคาผลคณูของขอมูลแตละหลัก เชน x=[1 2 3; 4 5 6; 7 8 9]
↵ prod (x) ↵ เปนตน
cumprod แสดงคาผลคณูสะสมของขอมูลแตละหลัก เชน
x=[1 2 3; 4 5 6; 7 8 9] ↵ cumprod (x) ↵ เปนตน สมการสัญลักษณ อนุพันธ ปริพันธและลิมิต sym , syms สรางตัวแปรหรือชุดตัวแปรสัญลักษณเพ่ือใชในสมการทางคณิตศาสตร เชน
x= sym(‘x’) ↵ และ syms x1 x2 y1 y2 ↵ เปนตน class แสดงประเภทของตัวแปรที่ระบ ุ เชน class(x1) ↵ เปนตน subs แทนตาํแหนงตัวแปรในตัวแปรสัญลักษณ เชน
syms a1 b1 c1 d1 ↵ a1= b1+c1 ↵ a1=subs(a1,b1,d1) ↵ และ d1=0.5 ; c1=0.2 ; ↵ subs (a1) ↵ เปนตน
polyfit หาความสัมพนัธเชิงฟงกชันของขอมูล เชน
x=[53 58 55 60 ] , y=[156 165 162 170] ↵ polyfit(x,y,1) ↵ เปนตน
เอกสารประกอบการอบรม MATLAB
- 14 -
roots การหารากของสมการพหุนาม เชน
v=[1 –2 1] ↵ (สัมประสิทธิ์ของแตละพจน) roots(v) ↵ เปนตน
expand การกระจายพหุนาม เชน syms x1 ↵ f=((x1+1)*(x1+2)^2) ↵ expand(f) ↵
factor การแยกตัวประกอบ เชน syms x1 ↵ f= x1^3+5*x1^2+8*x1+4↵ factor(f) ↵
diff การหาอนุพันธของระบบสมการ เชน syms x ↵ f=x^4+3*x^2-5 ↵ diff(f) ↵ เปนตน
int การหาปริพันธของชุดสมการสัญลักษณ เชนsyms x ↵ f= 4*x^3+6*x ↵ int(f) ↵ เปนตน
limit การหาลิมิตของชุดสมการสัญลักษณ เชนsyms x ↵ f=(x^2-9)/(x-3) ↵ limit (f,3) ↵ เปนตน
solve หาผลเฉลยของระบบสมการ เชน[x,y]=solve(‘2*x+y=4’, ‘9*x-4*y=1’) ↵ เปนตน
dsolve หาผลเฉลยของสมการเชิงอนุพันธ เชน syms x t ↵ dsolve(‘D2x+x=0’) ↵ เปนตน การหาผลเฉลยของระบบสมการเชิงอนุพันธ เชน syms x y t ↵ [x,y]=dsolve(‘Dx-Dy=sin(t)’, ‘Dx+2*Dy=cos(t)’) ↵ เปนตน
สรางและแปลงขอความ
base2dec แปลงเลขฐานที่ระบุเปนเลขฐาน 10 เชน x=base2dec(‘101’,3) ↵
เปนตน bin2dec แปลงเลขฐาน 2 เปนเลขฐาน 10 เชน x= bin2dec(‘101’) ↵
เปนตน hex2dec แปลงเลขฐาน 16 เปนเลขฐาน 10 เชน x= hex2dec(‘FF’) ↵
เปนตน dec2base แปลงเลขฐาน 10 เปนเลขฐานที่ระบ ุ เชน x= dec2base(10,3) ↵
เอกสารประกอบการอบรม MATLAB
- 15 -
เปนตน dec2bin แปลงเลขฐาน 10 เปนเลขฐาน 2 เชน x= dec2bin (5) ↵ เปนตนdec2hex แปลงเลขฐาน 10 เปนเลขฐาน 16 เชน x= dec2hex (255) ↵
เปนตน num2str แปลงตัวเลขเปนขอความ เชน x= num2str(12.323) ↵ เปนตน str2num แปลงขอความเปนตัวเลข เชน x = str2num(’12.323’) ↵ เปน
ตน eval สรางตัวแปรหรือสมการจากขอความ เชน eval(‘x=sin(pi)/2’)
↵เปนตน feval สรางหรือประมวลผลฟงกชันจากขอความ เชน
feval(‘ezplot’,’sin(x)’) ↵ มีผลเชนเดียวกับ ezplot(‘sin(x)’) ↵
คําสั่งเง่ือนไข และการวนลูป
if – else –end เง่ือนไข ถา…แลว (แบบเงื่อนไขเดียว) เชน
x=5,y=10 ↵ if x>y ↵ disp(‘X more than Y’) ↵ else ↵ disp(‘X less than Y’) ↵ end ;↵ เปนตน
if – else –elseif –end
เง่ือนไข ถา…แลว (แบบเงื่อนไขซอน) เชน x=5,y=5 ↵ if x>y ↵ disp(‘X more than Y’) ↵ elseif x==y ↵ disp(‘X equal Y’) ↵ else ↵ disp(‘X less than Y’) ↵ end ;↵ เปนตน
for – end เง่ือนไขกระทําซ้ําตามจาํนวนที่รอบที่ระบุ เชนfor x=1: 0.5 : 10 ↵
เอกสารประกอบการอบรม MATLAB
- 16 -
disp (num2str(x)) ↵ end ;↵ เปนตน
while – end เง่ือนไขกระทําจนเงื่อนไขเปนจริง เชนx=0 ↵ while x<10 ↵ disp (num2str(x)) ↵ x=x+1 ↵ end ; ↵ เปนตน
switch-case-end
เง่ือนไขเลือกกระทําตามกรณี เชนx=5,y=5 ↵ switch x ↵ case x>y ↵ disp(‘X more than Y’) ↵ case x<y ↵ disp(‘X less than Y’) ↵ case x==y ↵ disp(‘X equal Y’) ↵ end ;↵ เปนตน
break คําส่ังหยุดกระทําของ for-end และ while-end เชน x=0 ↵ while x<10 ↵ disp (num2str(x)) ↵ x=x+1 ↵ break ↵ end ; ↵ เปนตน
สรางกราฟชนิดตาง ๆ plot , plot3 สรางกราฟเสนแบบ 2 มิต ิ เชน
x=linspace(0,1,10) , y=logspace(0,1,10) ↵ x1=sin(x) , y1=cos(y) ↵ plot(x,y,x1,y1) ↵ เปนตน
เอกสารประกอบการอบรม MATLAB
- 17 -
สรางกราฟเสนแบบ 3 มิต ิ เชน t = 0:pi/50:10*pi ↵ plot3(sin(t),cos(t),t) ↵ เปนตน
fill สรางกราฟเสนแบบ 2 มิต ิ แบบเติมสีพ้ืนที่ เชน x=-6:0.1:6 , y=sin(x) , c = [0.5 1 0.8] ↵ fill (x,y, c) ↵ เปนตน • การกําหนดสแีบบ RGB (Red Green Blue) เพ่ือใชเปน
ระบายพื้นที ่ โดยแตละหลักจะมีชวงสีอยูที่ 0 ถึง 1 มีรูปแบบ c = [ R G B] เชน c = [0.5 1 0.8] ↵ เปนตน
ezplot, ezplot3 สรางกราฟสมการพาราเมตริกซ เชน
ezplot(‘sin(x)’,[0, 10]) ↵ เปนตัน สรางกราฟสมการพาราเมตริกซ 3 มิต ิเชน ezplot3(‘sin(x*pi)’,’cos(x/pi)’,’tan(x)’,[0,2*pi]) ↵ เปนตนั
stairs สรางกราฟขั้นบันได เชน x=[2.3 5.2 4.2 2.2 4.9 5.5] ↵ stairs(x) ↵ เปนตน
hist สรางกราฟแทงฮิสโทแกรม เชน x=[2.2 2.2 2.5 2.2 2.5 2.0 2.0] ↵ xdat=[2.0 2.2 2.5] ↵ hist(x,xdat) ↵ (กําหนดคาของแกน x แสดงกราฟแบบตอเนือ่ง) hist(x) ↵ (ไมกําหนดคาของแกน x แสดงกราฟแบบไมตอเนื่อง) เปนตน
pie , pie3 สรางกราฟวงกลมแบบ 2 มิต ิเชน x=[20 30 10 40] ↵ (ขอมูลรวมเปน 100%) ex = [ 1 0 1 0] ↵ (สวนที่ตองการใหแยกมีคาเปน 1) pie(x,ex) ↵ เปนตน สรางกราฟวงกลมแบบ 3 มิต ิเชน x=[20 30 10 40] ↵ ex = [ 1 0 1 0] ↵ pie3(x, ex) ↵ เปนตน
bar ,bar3 สรางกราฟแทงแบบ 2 มิต ิ เชน x =[1 1.5 2 2.5 3 3.5] ↵ frex=[13 15 17 15 13 14] ↵ (ความถื่ของคา x)
เอกสารประกอบการอบรม MATLAB
- 18 -
bar(x, frex) ↵ เปนตน สรางกราฟแทงแบบ 3 มิต ิ เชน x =[1 1.5 2 2.5 3 3.5] ↵ frex=[13 15 17 15 13 14] ↵ bar3(x, frex) ↵ เปนตน
polar , ezpolar
สรางกราฟพิกัดเชิงข้ัว เชนx=0:0.1:2*pi ↵ y= 2*cos(2*x) ↵ polar(x,y) ↵ หรือ ezpolar(‘4*cos(2*x)’,[0 2*pi]) ↵ เปนตน
meshgrid สรางชุดขอมูลอะเรย 2 มิต ิเพ่ือเปนโดเมนในการสรางกราฟ 3 มิติ เชน x=0:1:5 , y=0:1:5 ↵ [x,y]=meshgrid(x,y) ↵ เปนตน (ใชกับกราฟ mesh หรือ surf)
contour สรางกราฟเสนชั้นความสูง เชน
x=-2:0.1:2 , y=-2:0.1:2 ↵ [x,y]=meshgrid(x,y) ↵ z=x.^2-y.^2 ↵ contour (z) ↵ เปนตน
mesh, meshc สรางกราฟตารางโปรง เชนx=-2:0.1:2 , y=-2:0.1:2 , [x,y]=meshgrid(x,y) ↵ z=x.^2-y.^2 ↵ mesh (z) ↵ หรือ meshc(z) ↵ (แสดง mesh พรอมกับ contour) เปนตน
surf, surfc สรางกราฟพื้นผิว เชน
x=-2:0.1:2 ↵ y=-2:0.1:2 , [x,y]=meshgrid(x,y) ↵ z=(x.^2)-(y.^2) ↵ surf (z) ↵ หรือ surfc(z) ↵ (surf และ contour) เปนตน
ezmesh สรางกราฟ mesh เชน ezmesh(‘exp(-x)*cos(t)’,[-4*pi,4*pi,-2,2]) ↵ เปนตน
ezsurf สรางกราฟ surf เชน ezsurf(‘exp(-x)*cos(t)’,[-4*pi,4*pi,-2,2]) ↵ เปนตน
เอกสารประกอบการอบรม MATLAB
- 19 -
คําสั่งปรับแตงกราฟ title เขียนคําอธบิายประกอบกราฟ เชน
x=linspace(0,1,10) , y=sin(x) , plot(x,y) ↵ title(‘title of figure’) ↵ เปนตน
xlabel ,ylabel , zlabel
เขียนคําอธบิายประกอบแกน x แกน y หรือ แกน z เชน xlabel (‘axis x value’) ↵ หรือ ylabel (‘axis y value’) ↵ หรือ zlabel (‘axis z value’) ↵ เปนตน
legend เขียนคําอธบิายประกอบเสนกราฟ เชน
legend (‘data 1’,’data 2’) ↵ เปนตน grid แสดงเสนตาราง เชน grid on ↵ หรือ grid off ↵ เปนตน text แสดงขอความ ณ จุดที่กําหนด เชน text(0.5,0.5,’text
display’) ↵ หรือ text(0.5,0.5,0.5,’text display’) ↵ (3 มิต)ิ เปนตน
axis กําหนดคาสูงสุดและต่ําสุดของแกน x และ แกน y เชน axis([0.3 0.8 0.2 0.7]) ↵ หรือ axis off ↵ axis on ↵ เปนตน
hold เขียนกราฟซอนลงบนกราฟเดิม เชนezplot(‘sin(x)’) ↵ hold on ↵ ezplot(‘sin(x^2)’) ↵ hold off ↵ เปนตน
subplot สรางกราฟยอย เชนsubplot(2,1,1); ezplot(‘sin(x)’,[0 2*pi]) ↵ subplot(2,1,2); ezplot(‘cos(x)’,[0 2*pi]) ↵ เปนตน
shading การกําหนดลกัษณะพื้นผิวกราฟ 3 มิติ มี 3 ลักษณะไดแก faceted , flat , interp เชน subplot(2,1,1); peaks(25) ↵ subplot(2,1,2); peaks(25); shading interp ↵ เปนตน
colormap การกําหนดกลุมสีพ้ืนผิวกราฟ 3 มิติ มี 9 ลักษณะ ไดแก GRAY, HOT, COOL, BONE, COPPER, PINK, FLAG, PRISM, JET เชน sphere (25); colormap (copper) ↵ เปนตน
เอกสารประกอบการอบรม MATLAB
- 20 -
(การกําหนด colormap มีผลกับทุกกราฟบนหนาตางแสดงกราฟ) colorbar แสดงระดบัสขีองกราฟ เชน colorbar ↵ เปนตน รูปแบบและสีเสนกราฟ
ลักษณะส ี เครื่องหมาย รูปแบบเสน
y สีเหลือง o เครื่องหมายวงกลม (อักษรโอ) - เสนตอเนื่อง
m สีมวงออน x เครื่องหมายกากบาท : เสนจุด
c สีฟาออน + เครื่องหมายบวก -. เสนประจุด
r สีแดง * เครื่องหมายดาว _ _ เสนประ
g สีเขียว . เครื่องหมายจุด b สีน้ําเงิน s เครื่องหมายสี่เหล่ียม w สีขาว d เครื่องหมายสี่เหล่ียมขนมเปยกปูน k สีดํา v เครื่องหมายสามเหลี่ยมหัวลง (อักษรวี) ^ เครื่องหมายสามเหลี่ยมหัวข้ึน < เครื่องหมายสามเหลี่ยมซาย > เครื่องหมายสามเหลี่ยมขวา p เครื่องหมายรูปดาวหาแฉก h เครื่องหมายรูปดาวหกแฉก
เชน x=-6:0.1:6 ; y1= sin(x) ; y2=sin(x.^2) ; y3=sin(x.^4); ↵ plot(x,y1,'mo-.',x,y2,'b*:',x,y3, 'rp-.') ↵ เปนตน
คุณลักษณะทีสํ่าคัญอยางหนึ่งของ MATLAB ไดแก คุณลักษณะดานการโปรแกรมมิ่ง โดย การเขียนชุดคําส่ังของโปรแกรม MATLAB เพ่ือใชในการประมวลผล ลดแรงงานและเวลาในการจัดพิมพคําส่ังในการประมวลผล ซึ่งชุดคําส่ังที่เขียนนั้นสามารถสรางไดจากโปรแกรมประเภท TEXT EDITOR เชน NOTEPAD , EDITLITE หรือจาก EDITOR ของโปรแกรม MATLAB เปนตน เราเรียกชุดคําส่ังดังกลาวนี้วา “M-file” ซึ่งมี 2 ลักษณะ ดังนี ้
1. สครปิต (Script) เปนไฟลชุดคําส่ังทีป่ระมวลผลตามลําดบัโดยไมมีการรับหรือสงออกขอมูลในรูปของตัวแปร
สวนที่สวนที่ 44 การเขียนสคริปตและฟงกชนัการเขียนสคริปตและฟงกชนั ((MM--ffiillee))
เอกสารประกอบการอบรม MATLAB
- 21 -
2. ฟงกชัน (Function) เปนไฟลชุดคําส่ังที่ประมวลผลตามลาํดบัและสามารถกําหนดการรับหรือสงออกขอมูลในรูปของตัวแปรได
ข้ันตอนการสราง M-file มีดังนี้ 1. เลือกเมนู File -> New -> M-file จาก Menu Bar 2. ปรากฎหนาตาง MATLAB EDITOR ดังนี ้ 3. พิมพชุดคําส่ังตาง ๆ ที่ใชในการประมวลผลลงบน MATLAB EDITOR และทําการ
บันทึกโดยเลือก File -> Save As (หรือ Save) จาก Menu Bar ของ MATLAB EDITOR แลวทําการกําหนดชื่อตามตองการ โดยโปรแกรมจะทําการบันทึกไฟลดังกลาวในรูปของ (*.m)
โครงสรางของไฟล
-ไฟลสคริปต สามารถพมิพคําส่ังตาง ๆ ไดโดยไมตองมีโครงสรางกําหนด เชน m=input(‘ENTER MATRIX SIZE : ’) rmatrix = rand(m) rmean = mean(rmatrix) rstdev = std(rmatrix) -ไฟลฟงกชัน มีโครงสรางดังนี ้ (ควรบันทึกช่ือไฟลใหตรงกับชื่อของฟงกชัน เพ่ือความสะดวกในการเรียกใชงาน) function [ตวัแปร OUTPUT ] = ช่ือฟงกชัน (ตวัแปร INPUT) %
เอกสารประกอบการอบรม MATLAB
- 22 -
% [สวนหมายเหต]ุ % [ชุดคําส่ังตาง ๆ] เชน function [rmean,rstdev] = rmt(m) % Syntax : rmt(m) % m := Integer value for define size of random matrix rmatrix = rand(m) rmean = mean(rmatrix) rstdev = std(rmatrix)
เอกสารประกอบการอบรม MATLAB
- 23 -
- แบบฝกหัด - กําหนดให
A =
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
4787155741400092
, b =
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡−
9061
, a = [ ]5423 −−
1. ใหนักศึกษาบันทึกผลการปฏิบัตไิวในไฟลขอมูลช่ือ RESAULT1.TXT 1.1) ทําการคํานวณดังตอไปนี ้
(ก) A⋅b (ข) a+4 (ค) b⋅a (ง) a⋅bT (จ) A⋅aT 1.2) แสดงขอมูลแถวที่ 2 และ 3 ของเมทริกซ (AT)⋅aT 1.3) หาผลเฉลยของระบบสมการเชิงเสน Ax = b และพรอมทั้งตรวจคําตอบโดยการคูณ
2. ใหนักศึกษาบันทึกผลการปฏิบัตไิวในไฟลขอมูลช่ือ RESAULT2.TXT หาคาสูงสุด คาต่าํสุด คาเฉล่ีย สวนเบีย่งเบนมาตรฐาน ดังนี ้
- เมทริกซ A กลับดานจากซายไปขวา - เมทริกซ A กลับดานจากบนลงลาง - เมทริกซ AT - เมทริกซ A หมุนตามเข็มนาฬิกา -270 องศา
3. จงสรางกราฟดังตอไปนี้ 3.1) กําหนด f(x)=x2 ให –10<= x <=10 จงสรางกราฟเสนและบันทึกกราฟไวใน
ไฟลขอมูลประเภท BMP ช่ือไฟล Figure1.bmp 3.2) กําหนด f(x)=x2 , g(x)=x(3) ให –10<= x <=10 จงสรางกราฟเลน พรอม
แสดงฟงกชันกํากับเสน บันทึกกราฟไวในไฟลขอมูลประเภท BMP ช่ือไฟล Figure2.bmp
3.3) กําหนด f(x)=cos(x)^2 ให –1<= x <=1 จงสรางกราฟ Mesh ที่มีความละเอียดของสเกลที่ 0.05 บันทึกกราฟไวในไฟลขอมลูประเภท BMP ช่ือไฟล Figure3.bmp
4. จงสรางชุดคําส่ัง (m-file) ในการคํานวณหาพื้นที่ของรูปหลายเหลี่ยม และบันทึกไวทีไ่ฟล HEXAGON.M โดยมีคุณสมบัตดิังนี ้
- รับขอมูลเมทริกซที่ประกอบดวยจุดโคออรดิเน็ตของรูปหลายเหลี่ยม - ทําการคาํนวณพื้นที่ พรอมทั้งแสดงกราฟรูปหลายเหลี่ยม และแสดงคาพ้ืนที่ของรูป
หลายเหลี่ยมบนกราฟ