ผลต่างระหว่างรุ่นของ "01204472/การทดลองการคำนวณจำนวนจริง"

จาก Theory Wiki
ไปยังการนำทาง ไปยังการค้นหา
แถว 31: แถว 31:
  
 
=== ความละเอียดกับการประมาณค่า ===
 
=== ความละเอียดกับการประมาณค่า ===
 +
 +
2.5 ใช้การประมาณค่าแบบที่ 2 กับฟังก์ชันจากข้อ 2.4 ให้เพิ่มค่า <math>k</math> ขึ้นเรื่อย (นั่นคือการเพิ่มความละเอียด) จากนั้นให้หาขอบเขตที่การเพิ่มค่า <math>k</math> ทำให้เราสังเกตเห็น error ที่ไม่ได้เกิดจากอัลกอริทึม (error ถ้าพิจารณาจากกราฟ ให้อธิบายว่าส่วนใดคือ error ที่เกิดจากอัลกอริทึมที่ใช้ประมาณ อะไรไม่ใช่)
 +
 +
2.6 ใช้การประมาณค่าแบบที่ 2 กับฟังก์ชันจากข้อ 2.2 ให้เพิ่มค่า <math>k</math> ขึ้นเรื่อย (นั่นคือการเพิ่มความละเอียด) จากนั้นให้หาขอบเขตที่การเพิ่มค่า <math>k</math> ทำให้เราสังเกตเห็น error ที่ไม่ได้เกิดจากอัลกอริทึม (error ถ้าพิจารณาจากกราฟ ให้อธิบายว่าส่วนใดคือ error ที่เกิดจากอัลกอริทึมที่ใช้ประมาณ อะไรไม่ใช่)
 +
 +
2.7 เปรียบเทียบขอบเขตที่ได้ในข้อ 2.5 และ 2.6
  
 
== Gaussian Elimination ==
 
== Gaussian Elimination ==
  
 
== ความเสถียร ==
 
== ความเสถียร ==

รุ่นแก้ไขเมื่อ 04:56, 14 มิถุนายน 2555

หน้านี้เป็นรายละเอียดการทดลองเกี่ยวกับข้อจำกัดในการคำนวณด้วยจำนวนจริงบนคอมพิวเตอร์ ประกอบการเรียนวิชา 01204472

ขอบเขตของตัวเลข

1.1 ทดลองหาค่าต่ำสุดที่จำนวนจริงในภาษาที่ใช้สามารถเก็บได้ (ที่มากกว่า 0)

1.2 เนื่องจากรูปแบบในการเก็บจำนวนจริงจะเก็บหลักและเลขนัยสำคัญ ให้เขียนโปรแกรมเพื่อหาจำนวนหลักของเลขนัยสำคัญ

1.3 จากคำตอบในข้อ 1.1 และ 1.2 ลองเทียบตารางในมาตรฐาน IEEE 754 ว่าการเก็บข้อมูลจำนวนจริงของภาษาที่ใช้เก็บด้วยรูปแบบใด

ทดลองประมาณค่า

ในการเรียนครั้งก่อนเราเห็นตัวอย่างของการทราบ derivative ของฟังก์ชันที่ต้องการหาค่าต่ำสุด อย่างไรก็ตาม ถ้าเราสามารถทำได้แค่คำนวณค่าฟังก์ชัน แต่เราต้องการใช้งานค่า derivative ที่จุดต่าง ๆ เราจะทำอย่างไร?

ให้ฟังก์ชัน และจำนวนจริง เราต้องการประมาณค่า

เราจะพิจารณาการประมาณค่าสองแบบ โดยทั้งคู่จะมีพารามิเตอร์ แทนความละเอียด

  • แบบที่ 1 ประมาณด้วย
  • แบบที่ 2 ประมาณด้วย

ในการทดลองสำหรับแต่ละฟังก์ชันต่อไปนี้ ให้วาดกราฟเปรียบเทียบความผิดพลาดของการประมาณแบบที่ 1 และแบบที่ 2 โดยให้เปลี่ยนตามค่า โดยมากให้ k มีค่าตั้งแต่ 1 ถึง 500 ก็น่าจะเห็นความแตกต่าง

หมายเหตุ: ในการสร้างตัวแปร k อย่าลืมว่าต้องให้มีค่าเป็นจำนวนจริง โดยสั่ง k = arange(1.,500.,1) จากนั้นลองสั่ง 1/k เพื่อดูอาร์เรย์ของค่า ที่ได้

2.1 ให้ ให้ประมาณค่าของ ที่ (สำหรับข้อนี้ คำตอบที่ถูกต้องคืออะไร?)

2.2 ให้ ให้ประมาณค่าของ ที่ (สำหรับข้อนี้ คำตอบที่ถูกต้องคืออะไร?)

2.3 ให้ ให้ประมาณค่าของ ที่ (สำหรับข้อนี้ คำตอบที่ถูกต้องคืออะไร?) สังเกตว่าเราคิดมุมเป็นหน่วยเรเดียล

2.4 ให้ ให้ประมาณค่าของ ที่ (สำหรับข้อนี้คำตอบที่ถูกต้องคืออะไร?)

ความละเอียดกับการประมาณค่า

2.5 ใช้การประมาณค่าแบบที่ 2 กับฟังก์ชันจากข้อ 2.4 ให้เพิ่มค่า ขึ้นเรื่อย (นั่นคือการเพิ่มความละเอียด) จากนั้นให้หาขอบเขตที่การเพิ่มค่า ทำให้เราสังเกตเห็น error ที่ไม่ได้เกิดจากอัลกอริทึม (error ถ้าพิจารณาจากกราฟ ให้อธิบายว่าส่วนใดคือ error ที่เกิดจากอัลกอริทึมที่ใช้ประมาณ อะไรไม่ใช่)

2.6 ใช้การประมาณค่าแบบที่ 2 กับฟังก์ชันจากข้อ 2.2 ให้เพิ่มค่า ขึ้นเรื่อย (นั่นคือการเพิ่มความละเอียด) จากนั้นให้หาขอบเขตที่การเพิ่มค่า ทำให้เราสังเกตเห็น error ที่ไม่ได้เกิดจากอัลกอริทึม (error ถ้าพิจารณาจากกราฟ ให้อธิบายว่าส่วนใดคือ error ที่เกิดจากอัลกอริทึมที่ใช้ประมาณ อะไรไม่ใช่)

2.7 เปรียบเทียบขอบเขตที่ได้ในข้อ 2.5 และ 2.6

Gaussian Elimination

ความเสถียร