Search…

Tính Căn Bậc 2 Theo Phương Pháp Newton-Raphson

25/08/20204 min read
Giới thiệu cách tính căn bậc 2 (square root) dựa trên phương pháp Newton-Raphson và code mẫu với C++.

Cách tính căn bậc 2 (square root) dựa trên phương pháp Newton-Raphson (hay một số tài liệu khác chỉ gọi tắt là phương pháp Newton) mà không cần dùng thêm bất kì một thư viện toán học.

Phương pháp Newton-Raphson

Trong thực tế, có rất nhiều phương pháp khác nhau có thể tính được căn bậc 2 của một số. Một trong các phương pháp đó là phương pháp tính căn bậc 2 được xây dựng bởi hai nhà toán học là Isaac Newton (1642 – 1726) và Joseph Raphson (1648 – 1715).

Gọi S là một số thực lớn hơn hay bằng 0 với n là số lần thực hiện việc tính toán (n càng lớn, cần tính càng nhiều và độ chính xác càng cao) và xn là căn bậc 2 của S sau n bước tính toán. Công thức tính căn bậc 2 theo phương pháp Newton – Raphson có dạng như sau:

xn+1 = xn - ƒ(xn) / ƒ'(xn) = xn - (xn2 - S) / 2 * xn = 1 / 2 * (xn + S / xn)

Khi n = 0 thì x0 sẽ có giá trị như thế nào? Để tìm được giá trị khởi đầu x0 dùng cho việc tính toán này cần sử dụng phương pháp ước lượng sơ bộ.

Ước lượng sơ bộ

Phương pháp này ước lượng được gần nhất căn bậc 2 của một số bất kì – mặc dù không chính xác tuyệt đối tuy nhiên ưu điểm lớn nhất của là được tính một cách dễ dàng – với số này áp dụng phương pháp đã trình bày ở trên để có được xấp xỉ gần chính xác nhất giá trị cuối cùng mong muốn.

Tương tự như trên, khởi đầu với S là một số thực không âm. Tìm cách phân giải S thành dạng như sau:

S = a * 102n

Trong đó a là một số thực (1 ≤ a < 100) và n là một số nguyên dương. Khi đó căn bậc 2 của S có dạng như sau:

√S = √a * 10n

Hay xấp xỉ căn bậc 2 của S là:

2 * 10n (a < 10)
6 * 10n (a >= 10)

Sở dĩ 2 và 6 được chọn trong trường hợp này vì dựa vào các chứng minh bằng phương pháp hình học xấp xỉ (bạn đọc có thể tham khảo thêm ở link phía cuối bài viết).

Ví du cho trường hợp ta muốn tìm căn bậc 2 của số S = 512468. Ta phân tích ra như sau:

512348 = 51.2348 * 104 ⇒ √512348 ≈ 6 * 102 = 600

Số này chỉ mang tính chất sơ bộ, cần thêm các bước tính toán chi tiết để có thể có được kết quả cuối cùng.

Áp dụng phương pháp Newton-Raphson

Sau khi đã tìm được ước lượng sơ bộ, việc tiếp theo là áp dụng phương pháp Newton-Raphson với giá trị khởi tạo ban đầu là ước lượng sơ bộ căn bậc 2 của số cần tìm – trong trường hợp này là số S.

xn+1 = 1 / 2 * (xn + S / xn)
⇒ √S ≈ lim xn
n→∞

Để hiểu rõ hơn, xét ví dụ tìm căn bậc 2 của số S = 795286

x0 = 6 * 102 = 600.000
x1 = 1 / 2 * (x0 + S / x0) = 1 / 2 (600.000 + 795286 / 600.000) = 962.738
x2 = 1 / 2 * (x1 + S / x1) = 1 / 2 (962.738 + 795286 / 962.738) = 894.402
x3 = 1 / 2 * (x2 + S / x2) = 1 / 2 (894.402 + 795286 / 894.402) = 891.792
x4 = 1 / 2 * (x3 + S / x3) = 1 / 2 (891.792 + 795286 / 891.792) = 891.788
x5 = 1 / 2 * (x4 + S / x4) = 1 / 2 (891.788 + 795286 / 891.788) = 891.788

Cuối cùng kết quả là: 

√795286 ≈ 891.788

Lời kết

Trên đây chỉ là một trong các cách tính được căn bậc 2, cũng như 3, 4, ... của một số thực. Tuy nhiên hạn chế của nó là chỉ giới hạn ở các số dương.

Thế giới toán học vô cùng rộng lớn và huyền bí; qua bài viết này có thể giúp bạn đọc hiểu thêm một khía cạnh thú vị khác của toán học.

Tham khảo

  • http://en.wikipedia.org/wiki/Methods_of_computing_square_roots - 13/9/2014
  • http://en.wikipedia.org/wiki/Geometric_mean - 13/9/2014
IO Stream

IO Stream Co., Ltd

30 Trinh Dinh Thao, Hoa Thanh ward, Tan Phu district, Ho Chi Minh city, Vietnam
+84 28 22 00 11 12
developer@iostream.co

383/1 Quang Trung, ward 10, Go Vap district, Ho Chi Minh city
Business license number: 0311563559 issued by the Department of Planning and Investment of Ho Chi Minh City on February 23, 2012

©IO Stream, 2013 - 2024