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 ซึ่งสร้างมาจากตัวเลข

Monday, March 30, 2015

Problem 2.1-2.4 (Chapter 2)

Problem 2.1


1

2


Problem 2.2

1

2

Problem 2.3

(a)

(b)

(c)


Problem 2.4

(a)

(b)

(c)

(39)