Monday, April 20, 2015

Practice example 4.1 - 4.18

Example 4.1 - 4.18

ex. 4.1

คำสั่ง who แสดงตัวแปรที่ประกาศไว้ทั้งหมด
คำสั่ง whos แสดงตัวแปรและค่าของตัวแปรพร้อมรายละเอียด ขนาด ชนิดของค่านั้น


ex.4.2


ภาพบนเป็นการเขียนโค้ดใน Script file เมื่อรันจะได้ผลลัพธ์ออกมาแสดงใน Command Window ตามภาพล่าง

ex. 4.3

ภาพบนเป็นการเขียนไว้เพียงขั้นตอนการทำงาน ส่วนภาพล่างเป็นการ assign ค่าเข้าไปทีหลังใน Command Window เพื่อใช้ในการคำนวณตามโค้ดที่เขียนไว้ใน Script file

ex. 4.4

เมื่อรันโปรแกรมจะมาข้อความตามด้านบนพร้อมให้เรา assign ค่าเข้าไปใน Command Window และทำเช่นเดียวกันในตัวแปรถัดไป


ex. 4.5

คำสั่ง disp() ใช้แสดงค่าของสิ่งที่อยู่ภายใจวงเล็บ

ex. 4.6

ตัวอย่างการใช้คำสั่ง disp() โดยสามารถใส่ ' ' ในวงเล็บเพื่อเป็นการเว้นบรรทัด

ex. 4.7

ตัวอย่างการแสดงตารางโดยใช้คำสั่ง disp()
ex. 4.8


คำสั่ง fprintf() เป็นการแสดงข้อความภายในวงเล็บ
การใส่ \n เข้าไปภาพใน " " เป็นการให้เริ่มขึ้นบรรทัดใหม่นัดตั้งแต่ข้อความที่อยู่หลัง \n

ex. 4.9

หากไม่มีการใช้ \n แม้ว่าข้อความจะมาจากคำสั่ง fprintf คนละคำสั่ง แต่ข้อความที่สองจะต่อจากข้อความแรกเสมอ

ex. 4.10

การใช้ %f ในข้อความเป็นการกำหนดตำแหน่งและชนิดของค่าที่จะแสดง ณ ตำแหน่งนั้น โดยแสดงเป็นเลขทศนิยม เมื่อสิ้นสุดข้อความจะตามด้วย , และชื่อตัวแปร

ex. 4.11

%3.2f หมายถึง แสดงตัวเลขจำนวนเต็ม 3 ตำแหน่ง และเลขทศนิยม 2 ตำแหน่ง
%g แสดงค่าของตัวแปร

ex. 4.12

การใช้คำสั่ง fprintf กับเมทริกซ์ โดยจะเป็นการแสดงข้อความทีละคอลัมน์

ex. 4.13

ใน Script file มีคำสั่งให้สร้างไฟล์ txt ชื่อ VmptoVkm.txt และ F1btoFN.txt การใช้คำสั่ง fopen เพื่อเปิดไฟล์นั้น มีคำสั่งให้เขียนข้อความไว้ในไฟล์ txt จากนั้นมีการใช้คำสั่ง fclose เพื่อเปิดไฟล์ โดยไฟล์ txt ที่ได้จะอยู่ในโฟลเดอร์เดียวกับ Script file

ex. 4.14

คำสั่ง save เป็นการเซฟไฟล์ นามสกุล ascii ชื่อ DatSavAsci ที่เก็บค่าของตัวแปรไว้ สามารถเปิดอ่านได้ด้วยโปรแกรมใดๆที่อ่านไฟล์นามสกุล ascii ได้

ex. 4.15

เป็นการ load ไฟล์ txt เพื่อนำค่ามาใช้ในโปรแกรม MATLAB

ex. 4.16

คำสั่ง xlsread() เป็นการนำข้อมูลในไฟล์ xls นั้นมาใช้ในโปรแกรม MATLAB

ex. 4.17

การนำข้อมูลภายนอกมาใช้ในโปรแกรม MATLAB สามารถทำได้อีกวิธีหนึ่งคือการใช้ Import Data ที่อยู่ใน Workspace เพื่อเลือกไฟล์และทำการเซ็ตค่าต่างๆ

ex. 4.18

เป็นการใช้คำสั่ง disp() เพื่อแสดงข้อมูลเป็นตาราง

Monday, April 6, 2015

Practice example 3.1 - 3.15

Example 3.1 - 3.15


ex. 3.1
เมื่อประกาศเวคเตอร์ สามารถนำเวคเตอร์มาบวกหรือลบกันได้ โดยจะนำตัวเลขที่ตำแหน่งเดียวกันจากสองเวคเตอร์มาคิด เวคเตอร์ทั้งสองตั้งมีขนาดเท่ากัน


ex. 3.2
ในทำนองเดียวกัน เมทริกซ์ที่จะนำมาบวกหรือลบต้องมีขนาดเท่ากัน
สามารถนำเวคเตอร์หรือเมทริกซ์มาบวกหรือลบเลขโดดได้

ex. 3.3
การคูณเมทริกซ์ จำนวนหลักของเมทริกซ์ที่หนึ่งต้องเท่ากับจำนวนแถวของเมทริกซ์ที่สอง ผลลัพธ์ที่ได้จะเป็นการนำหลักที่ n คูณกับแถวที่ n ของเมทริกซ์ที่หนึ่งและสองตามลำดับแล้วนำมาบวกกัน

ex. 3.4
สามารถนำเลขโดดมาคูณหรือหารกับเมทริกซ์ได้ ผลลัพธ์ที่ได้คือการนำตัวเลขใตแต่ละตำแหน่งมาคูณหรือหารกับเลขโดดตัวนั้น

ex. 3.5
Identity matrices คือเมทริกซ์ที่มีเลข 1 ในแนวทะแยงมุมจากซ้ายบนไปขวาล่างที่เหลือเป็นเลข 0
หาก เมทริกซ์ B เป็นอินเวอร์สของเมทริกซ์ A แล้ว เมื่อนำ A*B หรือ B*A แล้วจะได้ Identity matrices
อินเวอร์สสามารถประกาศโดยใช้คำสั่ง inv(A) หรือ A^-1

ex. 3.6
การหารเมทริกซ์
X=A\B เป็นการหารแบบ left division มีค่าเท่ากับ X=A^-1*B (อินเวอร์สของ A คูณ B) โดยจำนวนหลักของ A ต้องเท่ากับจำนวนแถวของ B
X=D/C เป็นการแบบ right division มีค่าเท่ากับ X=D*C^-1 (D คูณอินเวอร์สของ C) โดยจำนวนหลักของ D ต้องเท่ากับจำนวนแถวของ C

ex. 3.7
A.*B หรือ B.*A หมายถึงการนำตัวเลขที่ตำแหน่งเดียวกันของ A และ B มาคูณกัน
ในทำนองเดียวกันสามารถนำมาหารกันได้ และ A กับ B ต้องมีขนาดเท่ากัน
หากนำมา A*B คูณแบบธรรมดาจะ error เพราะหลักของ A ไม่เท่ากับแถวของ B

ex. 3.8
แสดงตัวอย่างการคำนวณโดยใช้ z.

ex. 3.9
ตัวอย่างการนำเมทริกซ์มาใช้ในฟังก์ชัน cos() และ sqrt(d)

mean(A) == ค่าเฉลี่ยของ A
max(A) == ค่ามากที่สุดใน A
min(A) == ค่าน้อยที่สุดใน A
sum(A) == ผลรวมของเลขใน A
sort(A) == เรียงค่าของน้อยไปหามาก
median(A) == ค่ากลางของ A

std(A) == ส่วนเบี่ยงเบนมาตรฐานของ A
det(A) == determinant ของ A
dot(a,b) == ผล dot ของ a กับ b
cross(a,b) == ผล cross ของ a กับ b

ex. 3.10
rand == สุ่มตัวเลขตั้งแต่ 0 ถึง 1
rand(m, n) == สุ่มตัวเลขตั้งแต่ 0 ถึง 1 เป็นจำนวน m แถว n หลัก
rand(h) == สุ่มตัวเลขตั้งแต่ 0 ถึง 1แล้วนำมาสร้างเมทริกซ์ขนาด hxh
randperm(a) == สุ่มตัวเลขตั้งแต่ 1 ถึง a เป็นจำนวน a ตัว

ex. 3.11
rand(k ,j) == สุ่มตัวเลขตั้งแต่ 1 ถึง k แล้วสร้างเมทริกซ์ขนาด jxj
rand(k ,j ,h) == สุ่มตัวเลขตั้งแต่ 1 ถึง k แล้วสร้างเมทริกซ์ขนาด jxh

ex. 3.12
randn(g, f) == สุ่มตัวเลขแล้วนำมาสร้างเมทริกซ์ขนาด gxf

ex. 3.13
สามารถนำคำสั่ง randn() มาใช้ใน expression

ex. 3.14
การเขียนสูตรคำนวณใน Script file เพื่อหาแรงลัพธ์ของ F1, F2 และ F3
โดยต้องทำการแตกแรงแต่ละแรงให้เป็นแรงในแนวแกน x และแกน y เช่น F1=ขนาดของF1[(cosd(-20) + sind(-20)]

จะให้แรงในแนวแกน x และ y ของทั้ง F1, F2 และ F3 เมื่อนำมารวมกันจะได้แรงลัพธ์(Fs)ในรูปของ แรงตามแนวแกน x และแกน y
การหาขนาดของแรงลัพธ์ สามารถหาได้จากสูตร F = Fx^2 + Fy^2 เมื่อนำมาเขียนในโปรแกรม MATLAB จะได้ว่า F=sqrt(Fs(1)^2 + Fs(2)^2)
การหามุมของแรงลัพธ์ สามารถหาได้จากสูตร tanӨ = Fy / Fx เมื่อนำมาเขียนในโปรแกรม MATLAB จะได้ว่า Ө = atand(Fy/Fx)

ขนาดของแรงลัพธ์ที่คำนวณได้
และมุมของแรงลัพธ์

ex. 3.15
การคำนวณหาสัมประสิทธิ์ความเสียดทาน(μ) จากตารางข้อมูลที่ให้มา โดยกำหนดให้ค่าความโน้มถ่วง (g) = 9.81 m/s^2 ค่าสัมประสิทธิ์ความเสียดทาน(μ) สามารถคำนวณหาได้จากสูตร F = μN โดย N คือน้ำหนักของวัตถุ แต่ในตารางข้อมูลที่ให้มาเป็นค่ามวล(m) นำมาแปลงเป็นค่า N โดยนำค่า m ไปคูณกับ g เมื่อได้ค่า N นำไปแทนในสมการจะสามารถหาค่าสัมประสิทธิ์ความเสียดทาน(μ) จากการกลับข้างสมการจะได้ μ = F/N เขียนลงใน Script file ของ MATLAB จะเขียนได้ว่า mu = F./(m.*g)

ผลลัพธ์ที่ได้จากการคำนวณด้วยสมการด้านบน


Thursday, April 2, 2015

Practice example 2.1 - 2.29

Example 2.1 - 2.29


ex. 2.1
วิธีการสร้าง vector

ex. 2.2
การสร้าง vector ในแนวตั้ง

ex. 2.3
การสร้าง Array แบบกำหนดเงื่อนไข มีหรือไม่มีวงเล็บ [] ก็ได้โดย
ตัวเลขตัวหน้าคือจำนวนเริ่มต้น
ตัวเลขตัวกลางคือจำนวนที่เปลี่ยนไป
ตัวเลขตัวหลังคือจำนวนสุดท้าย

ex. 2.4
คำสั่ง linspace(x,y,z)
x == จำนวนเริ่มต้น
y == จำนวนสุดท้าย
z == จำนวนตัวเลขใน Array

ex. 2.6
การสร้าง Matrice จะประกาศเป็นตัวเลขแต่ละตัวก็ได้โดยเมื่อถึง ';' จะเป็นการขึ้นแถวใหม่ใน Matrice
และสามารถใส่สมาชิกของ Matirce ด้วย expression ก็ได้

ex. 2.7
การสร้าง Matrice ด้วยในแต่ละแถวด้วยวิธีต่างๆ

ex. 2.8
zeros(h,k) == สร้าง Matrice ที่ประกอบด้วยเลข 0 ทั้งหมดจำนวน h แถว k คอลัมน์

ex. 2.9
ones(h,k) == สร้าง Matrice ที่ประกอบด้วยเลข 1 ทั้งหมดจำนวน h แถว k คอลัมน์

ex. 2.10
eye(x) == สร้าง Matrice ขนาด 5x5 ด้วย เลข 0 และประกอบด้วยเลข 1 ในแนวทะแยงจากซ้ายบนไปขวาล่างของ Matrice

ex. 2.11
aa' == สลับหลักเป็นแถว

ex. 2.12
VCT(n) == ตัวเลขตำแหน่งที่ n ของ VCT
สามารถ assign ค่าใหม่ให้ได้หรือนำมาใช้คำนวณได้

ex. 2.13
MAT(m,n) = 20 คือการ assign ค่า 20 ให้กับ Matrice MAT ที่ตำแหน่งแถว m หลัก n

ex. 2.14
v(3:7) อ้างอิงถึงเฉพาะจำนวนที่ 3 ถึง 7 ของ v

ex. 2.15
A(:,3) == หลักที่ 3 ของ A
A(2,:) == แถวที่ 2 ของ A
A(2:4,:) == แถวที่ 2 ถึง 4 ของ A
A(1:3,2:4) == แถวที่ 1 ถึง 3 และหลักที่ 2 ถึง 4 ของ A

ex. 2.16
การสร้าง Matrice ด้วยการประกาศเงื่อนไขที่ซับซ้อน

ex. 2.17
การ assign ไปที่ตำแหน่งที่ยังไม่มีใน Vector จะเป็นการเติมค่านั้นๆเข้าไป
หาก assign ข้ามตำแหน่งที่ยังไม่เคย assign จะให้ตำแหน่งที่ยังไม่ assign เป็น 0
สามารถ assign ค่าใน Vector ด้วยตัวแปรได้

ex. 2.18
 ตัวอย่างการสร้าง Matrice ที่ซับซ้อนขึ้น

ex. 2.19
การ assign ไปที่ตำแหน่งที่ยังไม่มีใน Matrice จะเป็นการเติมค่านั้นๆเข้าไป
หาก assign ข้ามตำแหน่งที่ยังไม่เคย assign จะให้ตำแหน่งที่ยังไม่ assign เป็น 0

ex. 2.20
การ assign ตำแหน่งใดให้ = [] เป็นการทำให้ค่าที่ตำแหน่งนั้นว่างเปล่า นั่นคือลบค่าที่ตำแหน่งนั้นออกจาก Vector

ex. 2.21
การ assign ตำแหน่งใดให้ = [] เป็นการทำให้ค่าที่ตำแหน่งนั้นว่างเปล่า นั่นคือลบค่าที่ตำแหน่งนั้นออก
จาก Matrice

ex. 2.22
length(A) == จำนวนตัวเลขใน Vector A
size(A) == ขนาดของ Matrice A
reshape(A, 3, 2) == จัดตำแหน่งของ A ใหม่ให้มี 3 แถว 2 หลัก

ex. 2.23
diag(v) == เปลี่ยน Vector v ให้เป็น Matrice โดยจำนวนตัวแรกจะอยู่ที่มุมซ้ายบนและจำนวนสุดท้ายอยู่ขวาล่าง
คำสั่งนี้ยังสามารถเปลี่ยนจาก Matrice เป็น Vector ได้อีกด้วย โดยจะนำเอาตัวเลขที่อยู่มุมซ้ายบนจนถึงมุมขวาล่างของ Matrice มาสร้างเป็น Vector

ex. 2.24
สามารถสร้าง Matrice ด้วยคำสั่ง ones() และ zeros() ได้

ex. 2.25
การสร้าง และเปลี่ยนแปลงค่าในบางตำแหน่งของ Matrice สามารถทำได้ด้วยการระบุตำแหน่งที่แน่ชัดของค่าที่ต้องการเปลี่ยน

ex. 2.26
การสร้าง Matrice ด้วยเงื่อนไขที่ซับซ้อน

ex. 2.27
 สามารถ assign ค่าให้ตัวแปรด้วย String
B(n) == ตัวอักษรที่ตำแหน่งที่ n ของ B
B(j:k) == ตัวอักษรที่ตำแหน่งที่ j ถึง k ของ B

ex. 2.28
 char() == สร้างชุดของ String ซึ่งแต่ละบรรทัดจะคั่นด้วย ','

ex. 2.29
x ถูก assign เป็นตัวเลข
y ถูก assign เป็น String ซึ่งสร้างมาจากตัวเลข