MICROCONTROLLER

วันเสาร์ที่ 16 กันยายน พ.ศ. 2560

MATLAB คืออะไร



MATLAB
MATLAB คืออะไร 
     MATLAB เป็นภาษาคอมพิวเตอร์ชั้นสูง (High-level Language) สำหรับการคำนวณทางเทคนิคที่ประกอบด้วยการคำนวณเชิงตัวเลข กราฟิกที่ซับซ้อน และการจำลองแบบเพื่อให้มองเห็นภาพพจน์ได้ง่ายและชัดเจนชื่อของ MATLAB ย่อมาจาก matrix laboratory เดิมโปรแกรม MATLAB ได้เขียนขึ้นเพื่อใช้ในการคำนวณทาง matrix หรือเป็น matrix software ที่พัฒนาจากโปรเจคที่ชื่อ LINKPACK และ EISPACK
     MATLAB ได้พัฒนามาด้วยการแก้ปัญหาที่ส่งมาจากหลายๆ ผู้ใช้เป็นระยะเวลาหลายปีจึงทำให้โปรแกรม MATLAB มีฟังก์ชันต่างๆ ให้เลือกใช้มากมาย ในบางมหาวิทยาลัยได้ใช้โปรแกรม MATLAB เป็นหลักสูตรพื้นฐานในการศึกษาทางด้านคณิตศาสตร์ วิศวกรรม และวิทยาศาสตร์แขนงต่างๆตลอดจนในด้านอุตสาหกรรมได้ใช้โปรแกรม MATLAB เป็นเครื่องมือสำหรับใช้ในงานวิจัย พัฒนาและวิเคราะห์
โครงสร้างของ MATLAB
โครงสร้างของโปรแกรม MATLAB ประกอบด้วย ส่วนใหญ่ๆ คือ
     1.ภาษาโปรแกรม MATLAB (The MATLAB language)
MATLAB เป็นโปรแกรมภาษาชั้นสูงที่ใช้ควบคุม flow statement ฟังก์ชัน โครงสร้างข้อมูลอินพุท/เอาท์พุท และลักษณะโปรแกรม Object-Oriented Programming ทำให้การเขียนโปรแกรมไม่ยุ่งยากเมื่อเทียบกับการเขียนโปรแกรมด้วยภาษาอื่นๆ เช่น C, Fortran, Basic เป็นต้น
     2. . หน้าต่างหลักและหน้าต่างรองของ Matlab หรือที่เรียกกันว่า Matlab Desktop Environment ช่วยให้ผู้ใช้ทำงานได้ง่ายและรวดเร็วมากยิ่งขึ้น ในส่วนนี้ประกอบด้วยชุดเครื่องมือที่ช่วยให้เราสามารถใช้ฟังก์ชันก์และไฟล์ต่างๆ ด้วยเครื่องมือแบบรูปภาพ (GUI) ประกอบด้วยหน้าต่างย่อย Current Folder, Command Windows, Command History และ Workspace 
     
 
3.ฟังก์ชันในการคำนวณทางคณิตศาสตร์ (The MATLAB mathematical function library)
MATLAB จะมีไลบรารีทั่วไปที่ใช้ในการคำนวณอย่างกว้าง เช่น sine, cosine และพีชคณิตเชิงซ้อนโดยสามารถนำไปประยุกต์ใช้เป็นฟังก์ชันหรือไลบรารีเพิ่มเติมขึ้นจากไลบรารีที่ใช้กันโดยทั่วไป เช่น ฟังก์ชันในการหา eigenvalues และ eigenvectors การแยกตัวประกอบและส่วนประกอบของเมตริกซ์ด้วยวิธีต่างๆ การวิเคราะห์ข้อมูล การหาความน่าจะเป็น และการแก้ปัญหาระบบของสมการเชิงเส้นที่เป็นพื้นฐานของสาขาวิชาต่างๆ เป็นต้น ทำให้โปรแกรม MATLAB มีฟังก์ชันสำหรับใช้งานค่อนข้างมากและครอบคลุมในรายละเอียดของการคำนวณสาขาต่างๆ ได้มากขึ้น
     4.Handle Graphics
ระบบกราฟิกของ MATLAB จะประกอบด้วยคำสั่งชั้นสูงสำหรับการพล็อตกราฟโดยมีพื้นฐานอยู่บนแนวความคิดที่ว่าทุกๆ สิ่งบนหน้าต่างรูปภาพของโปรแกรม MATLAB จะเป็นวัตถุ (Object) ซึ่งมีเอกลักษณ์เฉพาะตัว Handle Graphics ประกอบด้วยคำสั่งชั้นสูงให้คุณได้เลือกใช้ในการสร้าง Graphic User Interface บนพื้นฐานการประยุกต์ใช้งานของคุณ นอกจากนี้โปรแกรม MATLAB ยังมีฟังก์ชันที่ใช้สำหรับการแสดงภาพสองมิติ ภาพสามมิติ และการสร้างภาพเคลื่อนไหว
      5.The MATLAB Application Program Interface (API)API จะใช้เพื่อสนับสนุนการติดต่อจากภายนอกโดยใช้โปรแกรมที่เป็น mex ไฟล์ซึ่งเป็นไฟล์ซึ่งเป็นไฟล์ที่เขียนขึ้นโดยใช้ mex ฟังก์ชันใน MATLAB ซึ่งจะเรียกใช้รูทีนจากโปรแกรมภาษา และ Fortran หรืออาจกล่าวได้ว่า API เป็นไลบรารีที่เขียนด้วยโปรแกรมภาษา และ Fortran ที่มีการเชื่อมต่อกับโปรแกรม MATLAB ด้วยไฟล์ที่เป็น mex ฟังก์ชันอีกทั้ง MATLAB API นี้ยังมีความสามารถสำหรับการเรียก routine จาก MATLAB (dynamic linking) ก็ได้



MATLAB as a basic Calculator

MATLAB as a basic Calculator
ตัวดำเนินการเลขคณิต
ลักษณะการดำเนินการ
ตัวดำเนินการ
ตัวอย่าง
การบวก
+
A+B
การลบ
-
A-B
การคูณ
*
A*B
การหาร
/
A/B
การหารแบบผกผัน
\
A\B
การยกกำลัง
^
A^B
การทรานสโพส
'
A'

ตัวดำเนินการเปรียบเทียบและตรรกะ
ลักษณะการดำเนินการ
ตัวดำเนินการเปรียบเทียบและตรรกะ
ตัวอย่าง
น้อยกว่า
< 
A<10
น้อยกว่าหรือเท่ากับ
<=
A<=10
มากกว่า
> 
A>10
มากกว่าหรือเท่ากับ
>=
A>=10
เท่ากับ
==
A==10
ไม่เท่ากับบ
~=
A~=10
และ
&
A&B
หรือ
|
A|B
ไม่
~
~A


คำสั่งเบื้องต้นที่ใช้ใน MATLAB
Clear ใช้ในการลบตัวแปรทั้งหมดใน Workspace
Clc ใช้ในการลบหน้าจอของหน้าต่าง Command window
Clf  ใช้ในการลบวัตถุออกจากหน้าต่าง Figure
Close ใช้ในการปิดหน้าต่าง Figure
เครื่องหมายต่างๆที่ใช้ใน MATLAB
[  ] ใช้บอกขอบเขตของเมทริกซ์
; ใช้ในการขึ้นแถวใหม่
ใช้ในการขึ้นหลักใหม่
หมายถึง จากถึง
MATLAB Functions
คำอธิบาย
ชื่อฟังก์ชัน
ลักษณะการใช้
ยกกำลังฐาน e
exp
exp(X)
ค่าสัมบรูณ์
abs
abs(X)
รากที่สอง
sqrt
sqrt(X)
Logarithm ฐาน e
log
log(X)
Logarithm ฐาน 10
log 10
log10(X)
ฟังก์ชัน sine
sin*
sin(X)
ฟังก์ชัน cosine
cos*
cos(X)
ฟังก์ชัน tangent
tan*
tan(X)
ฟังก์ชัน cosecant
csc
csc(X)
ฟังก์ชัน secant
sec
sec(X)
ฟังก์ชัน cotangent
cot
cot(X)

คำอธิบาย
ชื่อฟังก์ชัน
ลักษณะการใช้
การแสดงตัวเลข ตำแหน่ง 3.1416
format short
format short
การแสดงตัวเลข ตำแหน่งพร้อมเลข Exp 3.1416e+00
format short e
format short e
การแสดงตัวเลข 16 ตำแหน่ง 3.14159265358979
format long
format long
การแสดงตัวเลข 16 ตำแหน่ง พร้อมเลข Exp 3.14159265358979e+00
format long e
format long e
ใช้ในการปัดเศษตามหลักทางคณิตศาสตร์
round
round(x)
ใช้ในการปัดเศษเข้าหาศูนย์
fix
fix(x)
ใช้ในการปัดเศษเข้าหาลบ
floor
floor(x)
ใช้ในการปัดเศษเข้าหาบวก
ceil
ceil(x)
ค่าผลบวกของสมาชิกทุกตัว รูปแบบการใช้
sum
sum(x)
ค่าผลบวกของสมาชิก โดยบวกเพิ่มขึ้นที่ละแถว ที่ละหลัก
cumsum
cumsum(x) 
ค่าผลคูณของสมาชิกทุกตัว
prod
prod(x)
ค่าผลคูณของสมาชิก โดยคูณเพิ่มขึ้นที่ละแถว ที่ละหลัก
cumprod
cumprod(x)
เอาค่าสูงสุดของสมาชิกทุกตัว
max
max(x)
เอาค่าต่ำสุดของสมาชิกทุกตัว
min
min(x)
ค่าเฉลี่ยเลขคณิต
mean
mean(x)
ค่าเบี่ยงเบนมาตรฐาน
std
std(x)
ค่าความแปรปรวน
var
var(x)
หาจำนวนหลัก
length
length(x)
หาจำนวนแถว และจำนวนหลัก
size
size(x)
สร้างเมทริกซ์ที่มีสมาชิกทั้งหมดเป็น 0
zeros
zeros(x,y)
สร้างเมทริกซ์ที่มีสมาชิกทั้งหมดเป็น 1
Ones
ones(x,y)
สร้างเมทริกซ์ที่มีการสุ่มค่าสมาชิก
rand
rand(x)







Desktop Tools Matlab

Desktop Tools  Matlab มีหน้าต่างย่อย หน้าต่าง ที่ประกอบด้วย






ลักษณะหน้าจอ Program MATLAB
       1. Current Directory  แสดงโฟลเดอร์ปัจจุบันที่เราทำงานอยู่ เพื่อให้เราเข้าถึง m-file, mdl-file, mat-file ได้ง่ายหรือจัดเก็บไฟล์เหล่านี้ไว้ใช้ใน Matlab ภายหลัง นอกจากนั้นยังสามารถนำไฟล์รูปภาพ เสียง หรือวีดิโอ มาไว้เพื่อใช้งานร่วมกับไฟล์ Matlab สำหรับ การทำโปรเจคได้

หน้าต่าง Current Directory
     2.Command Window  ใช้ในการป้อนคำสั่ง(ฟังก์ชันหรือสคริปต์)ในการกำหนดค่าตัวแปร คำนวณ วิเคราะห์ผล แสดงผล และสร้างแอพพลิเคชั่น โดยป้อนคำสั่งหลังเครื่องหมายพร็อมพ์ (>>)

หน้าต่าง Command  Window
            3.Workspace แสดงรายละเอียดของตัวแปรใน Workspace ที่คุณสร้างหรือโหลดมาจากไฟล์

หน้าต่าง Workspace

     4.Command History  แสดงคำสั่งที่เราเคยใช้ใน Command Window และสั่งรันด้วยการดับเบิ้ลคลิกที่คำสั่งนั้น หรือคลิกขวาแล้วสั่งรันคำสั่ง

หน้าต่าง Command History


หน้าต่างอื่นๆ
 1.Editor เป็นหน้าต่างที่ใช้ในการเขียนโปรแกรม เป็นส่วนควบคุมการทำงานของโปรแกรม

หน้าต่าง Editor
2.Help เป็นหน้าต่างแสดงคู่มือ และการช่วยเหลือในการใช้งานคำสั่งต่างๆใน MATLAB ทั้งหมด




หน้าต่าง Help

3.Figure เป็นหน้าต่างแสดงผลกราฟิกทั้งหมดใน MATLAB ทุกครั้งเมื่อเรามีการทำงานกับกราฟิก


หน้าต่าง Figure