250 likes | 877 Views
การหาคำตอบของสมการไม่เชิงเส้น คำตอบอยู่ในช่วง. บำรุง พ่วงเกิด Office: ME201 Homepage: http://www.kmitl.ac.th/~kpbumroo . การหาคำตอบของสมการไม่เชิงเส้น. เปลี่ยนขอบ. เปลี่ยนจุด. การทำซ้ำๆ iterative เพื่อ ลู่เข้าหาคำตอบ. เนื้อหา หาค่า x ที่ f(x) = 0. สมการเชิงเส้นและสมการไม่เชิงเส้น.
E N D
การหาคำตอบของสมการไม่เชิงเส้นคำตอบอยู่ในช่วงการหาคำตอบของสมการไม่เชิงเส้นคำตอบอยู่ในช่วง บำรุง พ่วงเกิด Office: ME201 Homepage: http://www.kmitl.ac.th/~kpbumroo 01052006 การคำนวณทางวิศวกรรม (Engineering Computation)
การหาคำตอบของสมการไม่เชิงเส้นการหาคำตอบของสมการไม่เชิงเส้น เปลี่ยนขอบ เปลี่ยนจุด การทำซ้ำๆ iterative เพื่อ ลู่เข้าหาคำตอบ • เนื้อหา • หาค่า x ที่ f(x) = 0 01052006 การคำนวณทางวิศวกรรม (Engineering Computation)
สมการเชิงเส้นและสมการไม่เชิงเส้นสมการเชิงเส้นและสมการไม่เชิงเส้น scalar ฟังก์ชันเชิงเส้น สมการเชิงเส้น 01052006 การคำนวณทางวิศวกรรม (Engineering Computation)
สมการกำลังสอง Quadratic equation คำตอบของสมการ <M-File:”quadroots.m”> 01052006 การคำนวณทางวิศวกรรม (Engineering Computation)
Bracketing Methods: Graphical Methods ปัญหา: หาค่า drag coefficient สำหรับนักโดดร่มมวล 68.1 กก ตกอย่างอิสระ ที่ความเร็วสุดท้าย 40 เมตรต่อวินาที ในเวลา 10 วินาที 01052006 การคำนวณทางวิศวกรรม (Engineering Computation)
Graphical Methods ตัวอย่างการหาค่า drag coefficient (M-File: “c501graph.m”) 01052006 การคำนวณทางวิศวกรรม (Engineering Computation)
Graphical Methods คำตอบของสมการในช่วง? 01052006 การคำนวณทางวิศวกรรม (Engineering Computation)
Graphical Methods คำตอบของสมการในช่วง- กรณีพิเศษ 01052006 การคำนวณทางวิศวกรรม (Engineering Computation)
Graphical Methods ใช้ Computer Graphics หาคำตอบ (M-File: “c502graph.m”) 01052006 การคำนวณทางวิศวกรรม (Engineering Computation)
Bracketing Methods คำตอบอยู่ในช่วง พิจารณา การเปลี่ยนช่วงจากการเปลี่ยนเครื่องหมายของฟังก์ชัน 01052006 การคำนวณทางวิศวกรรม (Engineering Computation)
Bracketing Methods • Incremental search method • ค้นหาตรงที่ฟังก์ชั่นเปลี่ยนเครื่องหมาย • ขึ้นกับความละเอียดของการค้นหา • Bisection method • Binary chopping • Interval halving • Bolzano’s method 01052006 การคำนวณทางวิศวกรรม (Engineering Computation)
Incremental Search Methods ตัวอย่าง <M-File:”incsearch.m”> 01052006 การคำนวณทางวิศวกรรม (Engineering Computation)
Bisection Methods • Algorithm • เลือกหัวท้ายของช่วงคำตอบ xlและ xuโดยที่ f(xl)f(xu) < 0 • คำนวณค่าประมาณของคำตอบที่ • กำหนดช่วงคำตอบใหม่ โดยพิจารณาจากเงื่อนไข • f(xl)f(xr) < 0 xu =xr • f(xl)f(xr) > 0 xl =xr • f(xl)f(xr) = 0 คำตอบคือxr หยุดทำการคำนวณ 01052006 การคำนวณทางวิศวกรรม (Engineering Computation)
Bisection Methods • เปลี่ยนขอบของช่วง เทียบกับ xl • คำตอบอยู่ช่วงล่าง • คำตอบอยู่ช่วงบน 01052006 การคำนวณทางวิศวกรรม (Engineering Computation)
Bisection Methods • เปลี่ยนขอบของช่วง เทียบกับ xu • คำตอบอยู่ช่วงล่าง • คำตอบอยู่ช่วงบน 01052006 การคำนวณทางวิศวกรรม (Engineering Computation)
Bisection Methods ตัวอย่าง 01052006 การคำนวณทางวิศวกรรม (Engineering Computation)
Bisection Methods • ความผิดพลาด กับจำนวนครั้งในการหาคำตอบ • ก่อนทำการหาคำตอบความผิดพลาดสูงสุดคือช่วง • หาคำตอบต่อไปอีกครั้ง • หาคำตอบต่อไปอีก n ครั้ง 01052006 การคำนวณทางวิศวกรรม (Engineering Computation)
Bisection Methods Algorithms 01052006 การคำนวณทางวิศวกรรม (Engineering Computation)
Bisection Methods Algorithms 01052006 การคำนวณทางวิศวกรรม (Engineering Computation)
The False-Position Method • Bisection • “brute-force” approach • Relatively inefficient • False-Position Method • เชื่อมต่อฟังก์ชันทั้งสองด้วยเส้นตรง โดยเส้นตรงที่ตัดกับแกน x จะช่วยในการประมาณค่าคำตอบ • การแทนค่าของฟังก์ชัน (เส้นโคร้ง) ด้วยเส้นตรง ทำให้เกิด “false position” • Method of false position • regulafalsi(Latin) • Linear interpolation method 01052006 การคำนวณทางวิศวกรรม (Engineering Computation)
The False-Position Method หลักการ 01052006 การคำนวณทางวิศวกรรม (Engineering Computation)
การบ้าน เขียน Algorithm (pseudo code) ของ false-position method พร้อมกับ computer code โดยใช้ MatLabหรือ โปรแกรมภาษาอื่นๆ (5 คะแนน)พร้อมทดสอบเทียบกับ bisection สำหรับปัญหากระโดดร่ม กำหนดส่ง 11 ธันวาคม 2551 bpuangkird@gmail.com ส่งเฉพาะ M-file ตู้ชั้น 2 ชื่อ อ. ธวัชชัย นาคพิพัฒน์ 01052006 การคำนวณทางวิศวกรรม (Engineering Computation)