mat lab compact

23
เอกสารประกอบการอบรม MATLAB - 1 - เอกสารประกอบการอบรม ารใชงานโปรแกรมสําเร็จรูป MAT MAT ขนิษฐา ชมภูวิเศษ โปรแกรมวิชาคณิตศาสตรและสถิติประยุกต คณะวิทยาศาสตรและเทคโนโลยี มหาวิทยาลัยราชภัฏนครราชสีมา สวนทีสวนที1 1 ทําความรจักกับโปรแกรม ทําความรจักกับโปรแกรม M M A A T T L L A A B B

Upload: imagine-imm

Post on 18-Apr-2015

148 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Mat Lab Compact

เอกสารประกอบการอบรม MATLAB

- 1 -

เอกสารประกอบการอบรม การใชงานโปรแกรมสําเร็จรูป

MATMAT

ขนิษฐา ชมภูวิเศษ

โปรแกรมวิชาคณิตศาสตรและสถิติประยุกต คณะวทิยาศาสตรและเทคโนโลยี มหาวทิยาลัยราชภฏันครราชสีมา

สวนที่สวนที่ 11 ทําความรูจักกับโปรแกรมทําความรูจักกับโปรแกรม MMAATTLLAABB

Page 2: Mat Lab Compact

เอกสารประกอบการอบรม MATLAB

- 2 -

บทนํา

MATLAB (MATrix LABoratory) เปนโปรแกรมที่ประมวลผลบนลักษณะของเมทริกซ

สําหรับการคํานวณทางดานวิทยาศาสตรและวิศวกรรมศาสตร จัดไดวาเปนโปรแกรมคอมพิวเตอร

สมรรถนะสูงเพ่ือใชในการคํานวณทางเทคนิค โดยไดรวมวิธีการคํานวณ การเขียนโปรแกรมและการ

แสดงผลรวมดานกราฟฟคไวในโปรแกรมไดอยางมีประสิทธิภาพ และงายตอการใชงาน นอกจากนี้

ลักษณะของการเขียนคําส่ัง หรือสมการในการคํานวณก็ไมยุงยากจนเกินไป และมีการติดตอกับผูใช

ทางกราฟฟกส (GUI : Graphics User Interface) อีกดวย ลักษณะงานทั่วไปที่นําไปใช เชน การ

คํานวณทางดานคณิตศาสตรและวิทยาศาสตรทั่วไป การสรางแบบจําลองทางดานวิทยาศาสตรและ

วิศวกรรมศาสตร การวิเคราะหขอมูลทางสถิติ และดานการแสดงผลการคํานวณในรูปแบบของ

กราฟ

สําหรับเอกสารฉบับนี้มีจุดประสงคเพ่ือจะแนะนําใหนักศึกษาเขาใจถึงพ้ืนฐานเบื้องตนของการ

ใชงานโปรแกรม MATLAB เพ่ือการคํานวณทางดานคณิตศาสตรที่ใชในการเรียนการสอนใน

ระดับอุดมศึกษาเทานั้น สําหรับรายละเอียดของการใชชุดคําส่ัง MATLAB นั้น นักศึกษาสามารถ

ศึกษาคนควาไดจาก

- เอกสารประกอบการใชงานหรือคูมือของ MATLAB

- หารายละเอียดเพิ่มเติมไดจาก Help (ระบบชวยเหลือ) ของโปรแกรม MATLAB

- สอบถามขอสงสัยทาง Internet ของบริษัทผูผลิต (MathWork Inc.) ไดที่เว็บไซต

http://www.mathwork.com นอกจากนี้ผูใชที่มีการลงทะเบียนอยางถูกตองกับทางผูผลิต

จะไดรับโปรแกรมเพิ่มเติมหรือการแกไขขอผิดพลาดตาง ๆ เพ่ิมเติมจากทางบริษัทอีก

ดวย

Page 3: Mat Lab Compact

เอกสารประกอบการอบรม MATLAB

- 3 -

เริ่มใชงานโปรแกรม

สวนประกอบตาง ๆ ของโปรแกรม

Menu Bar และ Tools Bar สวนในการใชคําส่ังพ้ืนฐาน เชน การเปด ปด บันทึก แสดงหนาตาง จัดวางตําแหนง การเปลี่ยนตาํแหนงทํางานปจจุบัน (Current Directory) เปนตน

Launch Pad

สวนในการเชื่อมตอ (Link) ไปยังชุดคาํส่ังสําเร็จรูปที่ใชในการประมวลผลทางดานวิทยาศาสตรและวิศวกรรมศาสตรข้ันสูง หรือ สวนชวยเหลือตาง ๆ ภายในโปรแกรม

Launch WorkSpac Command

Command Current

Menu Bar ,

Page 4: Mat Lab Compact

เอกสารประกอบการอบรม 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 การสรางเมทริกซและองคประกอบของเมทริกซการสรางเมทริกซและองคประกอบของเมทริกซ

Page 5: Mat Lab Compact

เอกสารประกอบการอบรม 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 คําสั่งเบือ้งตนและการใชงานคําสั่งเบือ้งตนและการใชงาน

Page 6: Mat Lab Compact

เอกสารประกอบการอบรม 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 ↵

Page 7: Mat Lab Compact

เอกสารประกอบการอบรม 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] ↵

Page 8: Mat Lab Compact

เอกสารประกอบการอบรม 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) ↵

Page 9: Mat Lab Compact

เอกสารประกอบการอบรม 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) ↵ เปนตน

Page 10: Mat Lab Compact

เอกสารประกอบการอบรม 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) ↵ เปนตน

Page 11: Mat Lab Compact

เอกสารประกอบการอบรม 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)

Page 12: Mat Lab Compact

เอกสารประกอบการอบรม 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] ↵

Page 13: Mat Lab Compact

เอกสารประกอบการอบรม 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) ↵ เปนตน

Page 14: Mat Lab Compact

เอกสารประกอบการอบรม 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) ↵

Page 15: Mat Lab Compact

เอกสารประกอบการอบรม 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 ↵

Page 16: Mat Lab Compact

เอกสารประกอบการอบรม 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) ↵ เปนตน

Page 17: Mat Lab Compact

เอกสารประกอบการอบรม 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)

Page 18: Mat Lab Compact

เอกสารประกอบการอบรม 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]) ↵ เปนตน

Page 19: Mat Lab Compact

เอกสารประกอบการอบรม 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) ↵ เปนตน

Page 20: Mat Lab Compact

เอกสารประกอบการอบรม 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))

Page 21: Mat Lab Compact

เอกสารประกอบการอบรม 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) %

Page 22: Mat Lab Compact

เอกสารประกอบการอบรม 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)

Page 23: Mat Lab Compact

เอกสารประกอบการอบรม 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 โดยมีคุณสมบัตดิังนี ้

- รับขอมูลเมทริกซที่ประกอบดวยจุดโคออรดิเน็ตของรูปหลายเหลี่ยม - ทําการคาํนวณพื้นที่ พรอมทั้งแสดงกราฟรูปหลายเหลี่ยม และแสดงคาพ้ืนที่ของรูป

หลายเหลี่ยมบนกราฟ