วันอังคารที่ 18 พฤษภาคม พ.ศ. 2553

การประยุกต์ใช้ Goal Seek แก้ปัญหาการออกแบบ 1



ในการออกแบบเครื่องกลบ่อยครั้งต้องแก้ปัญหาของสมการแบบไม่เชิงเส้น ตัวอย่างเช่น การหาค่าความเค้นหลักที่จุดใดๆในวัตถุ (Principal stress at a point) สามารถหาได้จากสมการ characteristic equation ดังเช่น

f(x) = 3x^3 – 20x^2 + 1000x + 12000 = 0

ค่า x ที่ทำให้ f(x) = 0 จะถูกเรียกว่า รากของสมการ รากของสมการ characteristic equation ในปัญหานี้คือค่าความเค้นหลักที่จุดใดๆในวัตถุนั่นเอง จากรูปแบบของสมการจะพบว่า รากของสมการจะมีทั้งหมดสามค่าและเป็นจำนวนจริงทั้งหมด (รายละเอียดผมจะเล่าคราวหลัง) การแก้สมการเพื่อหารากสมการนี้สามารถทำได้โดยการลองผิดลองถูก (trial and error) โดยการทดลองเดาค่า x จนกว่าจะทำให้ค่าด้านซ้ายมือของสมการเข้าใกล้ศูนย์มากที่สุด การทดลองเดาค่า x มีวิธีการอยู่สองวิธีคือ วิธีการ False Position และวิธีการของนิวตันราฟสัน (Newton-Raphson) โดยปกติวิธีการของนิวตันราฟสันจะมีอัตราการลู่เข้าสู่คำตอบได้เร็วกว่าวิธีการ False Position อย่างไรก็ตามฟังก์ชันบางประเภทก็ไม่สามารถแก้ปัญหาด้วยวิธีการของนิวตันราฟสันได้ดีกว่าวิธีการ False Position

บทความนี้ผมจะนำเสนอเทคนิคการหารากของสมการโดยการใช้ฟังก์ชัน Goal Seek ซึ่งเป็นฟังก์ชันในSpreadsheet software โดยในบทความนี้จะกล่าวถึงโปรแกรม Microsoft Excel ซึ่งใช้วิธีการของนิวตันราฟสันในการหารากของสมการ (ในโปรแกรม Spreadsheet ของ Open office ก็มีฟังก์ชั่นนี้เช่นกัน) เรามาดูวิธีการกันครับ สมมุติเราต้องการหารากของสมการข้างต้น

1. ขั้นตอนแรกให้ท่านเปิดโปรแกรม Microsoft Excel แล้วป้อนค่าในเซลล์ต่างๆของ sheet1 ดังนี้

เซลล์ A1 : ให้ป้อนตัวอักษรเพื่อเป็นป้ายชื่อเป็น X =

เซลล์ B1 :ให้ป้อนค่าที่ต้องการเดาเริ่มต้นในที่นี้ให้ป้อนเป็น 0

เซลล์ A3 : ให้ป้อนตัวอักษรเพื่อเป็นป้ายชื่อเป็น f(x) =

เซลล์ B3 : ให้ป้อนสูตรดังนี้ =3*B1^3 – 20*B1^2 + 1000*B1 + 12000

2. หลังจากนั้นให้ไปที่เมนู Tools เลือก Goal Seek… จะปรากฏไดอะล๊อกของ Goal Seek ขึ้นมา

ให้ป้อนข้อมูลลงในไดอะล๊อกของ Goal Seek ดังนี้

ในช่อง Set cell ให้เลือกเซลล์ที่คำนวณค่าของสมการที่ต้องการหารากในตัวอย่างนี้คือ เซลล์ B3

ในช่อง To Value กำหนดค่าให้เท่ากับ 0

ในช่อง changing cell ให้เลือกเซลล์ B1

จากการป้อนข้อมูลในไดอะล๊อกของ Goal Seek สามารถอธิบายได้ดังนี้ เป็นการกำหนดให้ Microsoft Excel เปลี่ยนแปลงค่าในเซลล์ B1 จนกว่าค่าฟังก์ชันในเซลล์เท่ากับหรือเข้าใกล้ศูนย์

3. กดปุ่ม OK

4. หากสมการนี้สามารถหารากได้ Microsoft Excel จะแจ้งสถานะให้ทราบ และเราจะเห็นรากของสมการในเซลล์ A1

สิ่งที่ต้องคำนึงในการหารากของสมการด้วย Goal Seek คือ รากที่ทำให้ฟังก์ชัน f(x) = 0 จะขึ้นอยู่กับค่าเริ่มต้นของการเดา บางครั้ง Microsoft Excel อาจแจ้งไม่พบรากของสมการในสถานะของการค้นหา ผู้ใช้ต้องลองปรับค่าเริ่มต้นการเดาใหม่ซึ่งอาจทำให้หารากของสมการได้

เมื่อพิจารณาค่าปัจจุบันในเซลล์ B3 จะพบว่ามีค่าไม่เท่ากับศูนย์ ซึ่งเกิดจากกระบวนการทำซ้ำ(iteration process) แต่อย่างไรก็ตามหากอยู่ในค่าคลาดเคลื่อนที่ยอมรับได้ เราก็ไม่คำนึงถึงค่าไม่เท่ากับศูนย์นี้

สรุปแล้วการหารากของสมการด้วย Goal Seek จะขึ้นอยู่กับค่าการเดาเริ่มต้นที่เหมาะสม และก่อนการแก้ปัญหาด้วย Goal Seek ควรมั่นใจด้วยว่าสมการนี้มีรากของสมการแน่ๆ

ไม่มีความคิดเห็น:

แสดงความคิดเห็น

Yahoo bot last visit powered by  Ybotvisit.com