Implementacja metody Newtona‑Raphsona w języku C++
Implementacja metody Newtona‑Raphsona w języku C++
W metodzie Newtona‑Raphsonametodzie Newtona‑Raphsona korzystamy z faktu, że pierwiastkowana liczba jest równa polu kwadratu, którego boki są takiej długości jak wartość wyniku pierwiastkowania. Będziemy więc tworzyć kolejne prostokąty, coraz bardziej zbliżone do poszukiwanej figury. Załóżmy, że pierwiastkujemy pewną liczbę , a pierwszy wielokąt wyglądać będzie następująco:

Na podstawie długości boków prostokąta wyliczać będziemy kolejne poszukiwane wartości. Zapiszmy więc funkcję odpowiedzialną za proces wyszukiwania docelowej długości boku kwadratu. Pamiętajmy, że jedną z niezbędnych zmiennych będzie również precyzja, której rolą zajmiemy się w następnym kroku. Na razie w funkcji znajdą się jedynie założenia początkowe, dotyczące długości boków pierwszego prostokąta.
Tworzymy pętlę odpowiedzialną za wyliczanie kolejnych długości boków wielokątów. Operację tę przeprowadzamy do momentu, gdy wartość bezwzględna różnicy pomiędzy długościami obu boków będzie mniejsza niż zadana precyzja. Im mniejszą wartość zmiennej precyzja ustalimy, tym wynik będzie dokładniejszy. Długości boków prostokątów wyliczamy w następujący sposób:
Mając już niezbędne informacje, możemy przejść do dokończenia funkcji. Powtarzanie przedstawionych operacji, dopóki nie spełnimy wspomnianego warunku dotyczącego precyzji i różnicy boków, oznacza konieczność zastosowania pętli. Dodatkowo w warunku zastosujemy wartość bezwzględną. Użyjemy funkcji fabs z biblioteki cmathcmath.
Teraz wystarczy już tylko pobrać od użytkownika pierwiastkowaną liczbę oraz żądaną precyzję. Po wywołaniu funkcji otrzymamy wypisany przybliżony wynik pierwiastkowania kwadratowego.
Cały program prezentuje się następująco:
W ten sposób zapisaliśmy algorytm Newtona‑Raphsona obliczania przybliżonej wartości pierwiastka kwadratowego z liczby nieujemnej w języku C++.
Słownik
używany w języku C++ nagłówek biblioteki przechowującej funkcje realizujące podstawowe operacje matematyczne, takie jak np. funkcje trygonometryczne, hiperboliczne czy zaokrąglenia; odpowiednikiem cmath w języku C jest nagłówek math.h (po dodaniu #include <cmath> funkcje stają się dostępne w programie); przykładem takiej funkcji jest funkcja fabs(x), która zwraca wartość bezwzględną liczby rzeczywistej x
(inaczej: metoda Newtona lub metoda stycznych) algorytm wyznaczania wartości pierwiastka funkcji oparty na wyliczaniu kolejnych przybliżeń coraz bliższych rzeczywistej wartości pierwiastka; metoda ta może być wykorzystywana między innymi do omawianego wyznaczania wartości pierwiastka kwadratowego
element składni w określonym języku programowania umożliwiający komunikację pomiędzy podprogramem wywołanym a programem wywołującym; parametry określa się wraz z deklaracją określonego podprogramu w jego nagłówku