Thursday, May 7, 2015

Quiz

Quiz C

1.    จงสร้างเมทริกและหาคำตอบดังต่อไปนี้


1.1) คำนวณหาค่า 5A+5C




1.2) คำนวณหาค่า A*(B+C)



1.3) หาค่า Determinant ของ (2A+B+C)


2. จงแก้สมการหาค่า x, y และ z โดยใช้ Cramer's rule

3x - 2y + 5z = 7.5
-4.5x + 2y + 3z = 5.5
5x + y - 2.5z = 4.5


ใช้วิธีนำเมทริกซ์ของเลขหน้าตัวแปรไป left division กับเมทริกซ์ของคำตอบแต่ละสมการ
ซึ่งเป็นวิธีที่รวดเร็วและแม่นยำ
ผลลัพธ์จะได้ค่า x, y และ z เรียงตามลำดับ


3. จงพล็อตกราฟ โดยแกน x มีค่าตั้งแต่ 10-22 ห่างทีละ 2 cm แกน y = 950 640 460 340 250 180 140 กราฟเป็นเส้นประสีแดง มีข้อความบนกราฟว่า Light Intensity as a Function of Distance ขนาดตัวหนังสือเท่ากับ 14 เป็นแบบ Arial




Monday, May 4, 2015

Problem 9.1-9.2 (Chapter 9)

Problem 9.1

(1)

เป็นตัวอย่างการหาคำตอบจากโจทย์ที่เป็นอินทิเกรตโดยการกำหนดช่วง


(2)

ตัวอย่างการแก้โจทย์การอินทิเกรตแบบกำหนดช่วง




Saturday, May 2, 2015

Practice example 9.1 - 9.6

Example 9.1 - 9.5

ex. 9.1
เป็นการพล็อตกราฟฟังก์ชัน xe^-x = 0.2
โดยกำหนดให้ x มีค่าเป็น 0 ถึง 8



ex. 9.2
จากตัวอย่าง คำตอบของฟังก์ชั่นสามารถหาได้จากคำสั่ง fzero สองครั้ง ครั้งแรกใส่สมการเป็น string พร้อมด้วยค่าของ x0 ระหว่าง 0 ถึง 1 (x0=0.7)
ส่วนครั้งที่สองให้ x0 มีค่าระหว่าง 2 ถึง 3 (x0=2.8) จะได้คำตอบออกมา



ex. 9.3
คำสั่ง fminbnd สามารถใช้หาได้ทั้งค่าต่ำสุด ของค่าสูงสุดของฟังก์ชัน



ex. 9.4
คำสั่ง quad(function,a,b)
ใช้หาค่าที่ได้จากการอินทิเกรต function ระหว่าง a ถึง b

ex. 9.5
คำสั่ง quadl(function,a,b)
ใช้หาค่าที่ได้จากการอินทิเกรต function ระหว่าง a ถึง b



ex. 9.6
คำสั่ง trapz(x,y) เป็นการหาค่าที่ได้จากการอินทิเกรตฟังก์ชั่น
โดยให้ x เป็นเวคเตอร์ที่เก็บช่วงที่ต้องการอินทิเกรต
และ y เป็นเวคเตอร์ที่เก็บค่าของฟังก์ชั่น




Saturday, April 25, 2015

Practice example 5.1 - 5.25

Example 5.1 - 5.25

ex. 5.1

คำสั่ง plot(x,y) เป็นการพล็อตกราฟโดยใช้ข้อมูลจาก x แทนในแกน x และ y แทนในแกน y

ex. 5.2
การพล็อตกราฟโดยการกำหนดรูปแบบเส้นของกราฟ


ex. 5.3
การกำหนดสีของเส้นกราฟ โดยเติมอักษร r หลังรูปแบบเส้นกราฟ จะได้เส้นกราฟสีแดง


ex. 5.4
การกำหนดสีของเส้น และกำหนดจุดของกราฟ โดยใช้คำสั่ง g:d


ex. 5.5
เราสามารถกำหนดขนาดความหนาของเส้นกราฟด้วย 'linewidth' ตามด้วยขนาด
และขนาดของจุดด้วย 'markersize' ตามด้วยขนาด


ex. 5.6
การกำหนดค่าแบบซับซ้อน ยิ่งค่าละเอียดมากเท่าใด กราฟจะยิ่งมีความโค้ง


ex. 5.7
หากความห่างระหว่างข้อมูลมีมากขึ้น กราฟที่ได้จะมีลักษณะหยักมากขึ้น


ex. 5.8
fplot('function','limits','line specifiers')
ลักษณะการใช้งานคำสั่ง fplot โดยประกอบด้วยฟังก์ชัน ลิมิตที่ต้องการแสดง และตัวกำหนดลักษณะของเส้น


ex. 5.9
การพล็อตกราฟหลายเส้นพร้อมกันทำได้โดยการพิมพ์ข้อมูลที่จะใช้พล็อตกราฟตามด้วยตัวกำหนดลักษณะ พิมพ์ต่อๆกันจะได้ดังภาพข้างบน


ex. 5.10
เมื่อพล็อตกราฟแรกเสร็จ ใช้คำสั่ง hold on เพื่อคงค่าของตัวแปรต่างๆไว้ จะเห็นได้ว่าทั้ง 3 เส้นใช้ข้อมูลของ x หากไม่ใช้คำสั่ง hold on ค่าของ x จะถูกรีเซ็ตและต้องกำหนดใหม่ ใช้คำสั่ง hold off เพื่อเสร็จสิ้นกระบวนการ


ex. 5.11
คำสั่ง plot จะเริ่มการพล็อตใหม่ทุกครั้งที่ถูกเรียกใช้ ในขณะที่คำสั่ง line เป็นการเพิ่มเส้นเข้าไปบนพล็อตที่มีอยู่แล้ว


ex. 5.12
คำสั่ง xlabel, ylabel เป็นการกำหนดชื่อของแกน x และ แกน y ตามลำดับ
คำสั่ง title ใช้กำหนดรูปแบบ ขนาด สี ข้อความของ title ของกราฟ
คำสั่ง axis ใช้กำหนดขอบเขตข้อมูลที่จะแสดงในกราฟ
คำสั่ง text แสดงข้อความบนกราฟ
คำสั่ง legend ใช้กำหนดข้อความอธิบายเส้นต่างๆของกราฟ


ex. 5.13
จากรูปข้างบนเราจะเห็นความแตกต่างของคำสั่งพล็อตกราฟแบบต่างๆ
ตั้งแต่คำสั่ง plot, semilogy, semilogx และ loglog



ex. 5.14
คำสั่ง errorbar(x,y,e) ใช้เพื่อพล็อต error bar ที่แสดงกราฟและความคลาดเคลื่อนที่จุดใดๆ
โดยจะพล็อตกราฟระหว่าง x กับ y และ e เป็นเวคเตอร์ที่เก็บค่าความคลาดเคลื่อนในแต่ละจุด จะต้องมีจำนวนสมาชิกเท่ากับ x และ y  


ex. 5.15
ภาพบนเป็นการสร้างแผนภูมิแท่งโดยใช้คำสั่ง bar สามารถกำหนดสีได้
ส่วนคำสั่ง barh เป็นการสร้างแผนภูมิแท่งแบบแนวนอน


ex. 5.16
คำสั่ง stairs เป็นการกำหนดกราฟแบบขั้นบันได
คำสั่ง stem เป็นการกำหนดกราฟแบบมาร์คจุดพร้อมลากเส้นลงมาหาแต่ละค่าในแกน x


ex. 5.17
คำสั่ง pie(x) เป็นการกำหนดกราฟแบบ pie ซึ่งจะนำค่าใน x มาคำนวณแบ่งเป็นเปอร์เซนต์
ยิ่งค่ามาก เปอร์เซ็นต์ยิ่งมาก พื้นที่ก็จะใหญ่กว่า


ex. 5.18
คำสั่ง hist(y) เป็นการพล็อตกราฟแบบฮิสโทแกรม


ex. 5.19
คำสั่ง hist(y,3) เป็นการพล็อตกราฟฮิสโทแกรมโดยแบ่งช่วงของข้อมูลออกเป็น 3 ช่วง
ยิ่งมีข้อมูลข่วงใดมาก กราฟช่วงนั้นก็จะยิ่งสูง


ex. 5.20
คำสั่ง hist(y,x) เป็นการพล็อตกราฟฮิสโทแกรมโดยกำหนดขนาดความกว้างของแท่งกราฟ ในตัวอย่างจะเห็นว่า x = 45 55 65 75 85 95 ซึ่งแต่ละค่ามีค่าต่างกัน 10 แท่งกราฟแต่ละแท่งจะมีความกว้างเป็น 10


ex. 5.21
จากตัวอย่างนี้จะได้ค่า n เป็นจำนวนข้อมูลในแต่ละช่วงในเวคเตอร์ y


ex. 5.22
จากตัวอย่างนี้ xout จะมีค่าแทนตำแหน่งที่อยู่กึ่งกลางของแท่งกราฟแต่ละแท่ง


ex. 5.23
คำสั่ง polar(x,y,'line specifier') เป็นการพล็อตฟังก์ชันในระบบพิกัดเชิงขั้ว
โดยให้ x แทนเวคเตอร์ที่เก็บค่าของมุม (θ)
และ y แทนเวคเตอร์ที่เก็บค่าของระยะทาง (radius)


ex. 5.24
คำสั่ง figure เป็นการพล็อตกราฟแบบแยกหน้าต่างกัน
สามารถใช้คำสั่ง close เพื่อปิดหน้าต่างที่แสดงกราฟที่กำลังคลิกดูอยู่ (active)
คำสั่ง close all เพื่อปิดหน้าต่างทั้งหมด
และคำสั่ง close(n) เพื่อปิดหน้าต่างที่ n

ex. 5.25
เป็นการใช้คำสั่ง figure(n) แบบกำหนดลำดับของหน้าต่าง

Friday, April 24, 2015

Problem 4.1-4.2 (Chapter 4)

Problem 4.1



เขียนคำสั่งลงใน Script file > เซฟ > รัน
แสดงข้อความตามโจทย์ โดยส่วนที่เป็นตัวอักษรใช้คำสั่ง disp() และคำนวณหาค่า Tw จากสูตร
Tw = 35.74 + 0.6215*T- 35.75*v^0.16 + 0.4275*T*v^0.16 โดย v แทนความเร็ว และ T แทนอุณหภูมิ
ใช้คำสั่ง disp() ตามด้วยชื่อตัวแปรในวงเล็บเพื่อแสดงค่าที่เก็บในตัวแปร
เมื่อกดรันจะได้ผลลัพธ์ตามรูปข้างล่าง

Problem 4.2

(1)

(2)

เริ่มเขียนคำสั่งใน Script file กำหนดค่าให้ตัวแปร สร้างอาเรย์ ให้เก็บค่าของทั้งสองจากนั้น
ใช้คำสั่ง fopen() ตามด้วยชื่อไฟล์ .txt ที่เราจะสร้างตามด้วย 'w'
ใช้คำสั่ง fprintf เพื่อเขียนข้อความตามที่โจทย์กำหนดลงในไฟล์ txt ที่เราสร้างขึ้น
เมื่อแสดงเสร็จ ทำการปิดไฟล์ด้วยคำสั่ง fclose

เมื่อ Run Script file แล้วเราจะได้ไฟล์ .txt มาสองไฟล์ เก็บอยู่ในโฟลเดอร์เดียวกับ Script file ที่เราเขียน
เมื่อเปิดไฟล์ .txt ทั้งสองในโปรแกรม MS Word หรือคล้ายกัน จะได้ผลลัพธ์ดังรูปข้างบน