Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
1
Algorytm Newtona - Raphsona
Obliczanie przybliżonej wartości pierwiastka kwadratowego
2
Interpretacja geometryczna pierwiastka kwadratowego
Poszukujemy długości boku kwadratu o zadanym polu, poprzez jego przybliżanie kolejnymi prostokątami o tym samym polu. p p
3
Ponieważ dana figura ma być kwadratem więc wartości x i p/x powinny być sobie równe. Jeśli nie są, to szukane rozwiązanie jest położone między nimi, czyli możemy przyjąć, że jest to średnia arytmetyczna tych dwóch wielkości.A zatem możemy wyznaczyć kolejne przybliżenia pierwiastka.
4
Mamy za zadanie obliczyć wartość pierwiastka kwadratowego z liczby dodatniej z zadaną dokładnością
Nie możemy jednak posłużyć się funkcją standardową SQRT. Musimy sami podać przepis na obliczenie pierwiastka. Na szczęście jeden z takich przepisów został podany ponad 300 lat temu przez Newtona i Raphsona
5
Przepis Newtona - Raphsona
Jako pierwsze przybliżenie bierzemy np.1, a jako kolejne – wyrażenie: średnią arytmetyczną z poprzedniego przybliżenia i liczby podzielonej przez poprzednie przybliżenie. Kiedy mamy skończyć ciąg obliczeń? Wtedy, gdy różnica między kolejnymi przybliżeniami będzie nie większa niż podana dokładność. Więc do pracy!!!
6
Wzór na ciąg kolejnych przybliżeń ma postać:
7
Lista kroków algorytmu
Pobieramy wartość liczby podpierwiastkowej p oraz dokładność obliczeń Eps Przyjmujemy pierwsze przybliżenie poszukiwanego rozwiązania np. x=1 Jeśli |x – p/x|<=Eps to idziemy do 6. Obliczamy kolejne przybliżenie x:= (x+p/x)/2
8
Lista kroków c.d. Przechodzimy do 3. Wypisujemy wartość x. Koniec
9
A teraz schemat blokowy
START Wprowadź liczbę p oraz dokładność Eps Pierwsze przybliżenie przyjmijmy równe 1 p, Eps x:=1 p>0 N T |x-p/x|<=Eps Podaj p>=0 Podałeś złą liczbę podpierwiastkową N x:=(x+p/x)/2 T x STOP Warunek pętli while…..do
10
Pętla while ……..do…… Dlaczego jej użycie jest tu poprawne? Konstrukcja while…do…. służy do opisywania iteracji ze sprawdzeniem warunku na początku. A tak właśnie jest w naszym schemacie.
11
Program w Pascalu program MetodaNewtonaRaphsona;
{Program oblicza przybliżoną wartość pierwiastka kwadratowego z dowolnej liczby dodatniej. Jest to algorytm Newtona - Raphsona} {$APPTYPE CONSOLE} uses SysUtils; var Eps:real; {dokładność} p:real; {liczba podpierwiastkowa} x:real; {kolejne przybliżenie} begin { TODO -oUser -cConsole Main : Insert code here } x:=1; write('Podaj dokładność obliczeń, Eps= '); readln(Eps); write('Podaj wartość liczby podpierwiastkowej, p= '); readln(p);
12
Program w Pascalu c. d. if p>0 then begin while abs(x-p/x)>Eps
do x:=((x+p/x)/2); writeln('Pierwiastek kwadratowy z liczby ',p:6:6,' wynosi: ',x:6:6) end else writeln('Liczba podpierwiastkowa nie może być ujemna!-Popraw'); writeln('Wciśnij klawisz ENTER' :60); readln; end.
13
Pogram w Excelu
14
Dziękuję za obejrzenie prezentacji
Opracowała: Anna Ogórek Strona główna
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.