สมมุติว่าเราต้องการหาผลหาร B/A แล้วเราใช้ได้แต่การบวก การลบ การคูณเท่านั้น เราจะทำอย่างไร
เราสังเกตว่า B/A = B คูณกับหนึ่งหารด้วย A = B x 1/A
ดังนั้นถ้าเราหาค่า 1/A ได้ เราก็เอา 1/A ไปคูณกับ B แล้วจะได้ผลลัพธ์ B/A นั่นเอง
วิธีหา 1/A ด้วยวิธีของนิวตันก็คือการหาค่า x ที่ทำให้สมการ f(x) = A-1/x = 0 เป็นจริง ค่า x ที่ได้จะมีค่าเท่ากับ 1/A พอดี
วิธีการของนิวตันบอกว่า ถ้าจะแก้สมการ f(x) = 0 ให้เราเดาค่า x มาสักค่า (เรียกมันว่า x0) ก็แล้วกัน แล้วค่า x อันต่อไป (เรียกมันว่า x1) ที่น่าจะทำให้ f(x) ใกล้ศูนย์มากขึ้น ควรจะคำนวณอย่างนี้ครับ:
x1 = x0 – f(x0)/f'(x0) โดยที่ f'(x) คือ derivative ของ f(x) หรือค่าความชันของกราฟ f ที่ x ครับ
ถ้าค่า x1 ทำให้ f(x) ไม่ใกล้ 0 พอ เราก็หา x2, x3, x4, … ไปเรื่อยๆจนเราพอใจว่าค่า f(xn) ใกล้ 0 พอแล้ว โดยที่ xn หาได้จาก xn-1 ดังนี้ครับ:
xn = xn-1 – f(xn-1)/f'(xn-1)
ในกรณีที่ f(x) = A-1/x อย่างของเรา f'(x) = x-2 ดังนั้น
xn = xn-1 – (A- 1/xn-1)/xn-1-2
หรือ
xn = 2 xn-1 – A xn-12 ซึ่งใช้แค่การคูณและการลบเท่านั้น ไม่มีการหาร
ยกตัวอย่างเช่น ถ้าเราจะหาค่า 1/5 เราก็ให้ค่า A = 5 แล้วเราก็เดาค่าเริ่มต้น x0 ว่าเป็นสัก 0.1 แล้วหาค่า x1, x2, x3 ไปเรื่อยๆด้วยสมการ xn = 2 xn-1 – A xn-12
จะได้ว่า
x1 = 0.15
x2 = 0.1875
x3 = 0.199219
x4 = 0.199997
x5 = 0.2
x6 = 0.2
พอค่า x ไม่เปลี่ยนแล้วเราก็ได้คำตอบว่า 1/A = 1/5 = 0.2 ตามที่มันควรจะเป็นนั่นเองครับ
Worth noting that, once we hit 1/A, the process is stable and just keeps returning that value.
A fun question with any iterative process is whether the behavior depends on the starting point. For this one, it is easy to see that starting with a negative value will end badly. Unfortunately, starting too large (more than 2/A) will also be a problem. 0 and 2/A are special cases, too. Finally, have even more fun looking at the sequences coming from complex numbers that aren’t too far from 0.