วันอังคารที่ 15 กรกฎาคม พ.ศ. 2568

โจทย์ผิดหรือถูกคะ?? MO Memoir : Tuesday 15 July 2568

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


วันนี้ก็เลยจะขอลองแก้โจทย์ข้อนี้ดู เพราะเดือนหน้าก็ต้องสอนเรื่องนี้อยู่แล้ว

การแก้โจทย์ข้อนี้อยู่ในเรื่องการหาคำตอบของระบบสมการไม่เชิงเส้น ที่มี 1 สมการ 1 ตัวแปร ก็เลยจะทดลองใช้วิธีการง่าย ๆ ที่ไม่ต้องมีการคำนวณค่าอนุพันธ์ และสามารถทำการคำนวณบนโปรแกรม spreadsheet ได้ง่าย (เช่น excel หรือของ openoffice) คือระเบียบวิธีทำซ้ำแบบสืบเนื่องหรือ successive iteration

เริ่มจากจัดสมการให้อยู่ในรุป x = f(x) ก่อน

x(x+2) = 34x + 6(9(x+1))

(x + 2)ln(x) = ln(34x + 6(9(x+1)))

x = ln(34x + 6(9(x+1)))/ln(x) - 2

เนื่องจากมีพจน์ ln(x) ปรากฎ ดังนั้นค่า x ต้องมีค่ามากกว่าศูนย์

จากนั้นเดาค่าเริ่มต้น x (หรือ xtry) แทนค่าลงทางด้านขวาของเครื่องหมาย "=" ถ้าผลการคำนวณที่ได้ (คือ xcal) ตรงกับค่าที่เดา (xtry) ก็ถือว่าเจอคำตอบ แต่ถ้าพบว่าไม่ตรงกัน ก็ให้เอาค่า xcal ที่ได้นั้นมาใช้เป็น xtry แล้วทำการคำนวณต่อไปเรื่อย ๆ จนค่าทั้งที่เดากับค่าที่คำนวณได้นั้นลู่เข้าหากัน (ปล. มันอาจไม่ลู่เข้ากันก็ได้นะ ถ้าเลือกพจน์ที่จะให้เหลือเพียงแค่ x ทางด้านซ้ายของเครื่องหมาย "=" นั้นไม่เหมาะสม ถ้าเป็นเช่นนี้ก็ต้องลองเลือกพจน์ใหม่)

ตารางข้างล่างคือผลการคำนวณที่ได้ (คำนวนไปว่า 110 รอบ)


xtry

f(xtry) = xcal

2

11.4166655999

11.4166655999

18.6030505575

18.6030505575

25.9647810956

25.9647810956

33.0353033009

33.0353033009

39.5064398927

39.5064398927

45.2217478116

----------

----------

----------

----------

71.9197829085

71.9197829086

71.9197829086

71.9197829086

71.9197829086

71.9197829087

71.9197829087

71.9197829087

71.9197829087

71.9197829087


จากนั้นก็ทดสอบดูว่าคำตอบที่ได้นั้นถูกต้องหรือไม่ด้วยการเอาคำตอบที่ได้นั้น (71.9197829087) แทนลงไปในโจทย์ แต่การจะให้เครื่องคำนวณตัวเลขยกกำลัง ที่เลขยกกำลังมีค่ามากนั้นมันไม่เหมาะสม ก็เลยต้องขอปรับแต่งโจทย์เป็น

ln(x(x+2) - 6(9(x+1))) - ln(34x) = 0

ถ้าแทนค่า x ลงไปทางด้านซ้ายของเครื่องหมาย "=" แล้วได้คำตอบเป็นศูนย์ ค่านั้นก็เป็นค่าที่ถูกต้อง

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