1 g


8 16.0000 2.756373558E-0001 6.70E-0013
9 18.0000 3.090169944E-0001 1.18E-0013
10 20.0000 3.420201433E-0001 1.09E-0013
11 22.0000 3.746065934E-0001 3.19E-0014
12 24.0000 4.067366431E-0001 1.63E-0012
13 26.0000 4.383711468E-0001 4.46E-0012
14 28.0000 4.694715628E-0001 1.00E-0011
15 30.0000 5.000000000E-0001 2.06E-0011
16 32.0000 5.299192642E-0001 9.23E-0013
17 34.0000 5.591929035E-0001 6.60E-0013
18 36.0000 5.877852523E-0001 7.22E-0013
19 38.0000 6.156614753E-0001 3.81E-0013
20 40.0000 6.427876097E-0001 1.43E-0012
21 42.0000 6.691306064E-0001 2.53E-0012
22 44.0000 6.946583705E-0001 4.34E-0012
23 46.0000 7.193398003E-0001 9.43E-0012
24 48.0000 7.431448255E-0001 1.58E-0011
25 50.0000 7.660444431E-0001 2.79E-0011
26 52.0000 7.880107536E-0001 4.56E-0011
27 54.0000 8.090169944E-0001 4.78E-0013
28 56.0000 8.290375726E-0001 2.89E-0013
29 58.0000 8.480480962E-0001 6.00E-0013
30 60.0000 8.660254038E-0001 2.01E-0012
31 62.0000 8.829475929E-0001 3.66E-0012
32 64.0000 8.987940463E-0001 3.77E-0012
33 66.0000 9.135454576E-0001 6.06E-0012
34 68.0000 9.271838546E-0001 9.83E-0012
35 70.0000 9.396926208E-0001 1.59E-0011
36 72.0000 9.510565163E-0001 2.46E-0011
37 74.0000 9.612616960E-0001 3.57E-0011
38 76.0000 9.702957263E-0001 5.28E-0011
39 78.0000 9.781476008E-0001 7.80E-0011
40 80.0000 9.848077530E-0001 7.54E-0013
41 82.0000 9.902680687E-0001 1.54E-0012
42 84.0000 9.945218954E-0001 2.14E-0012
43 86.0000 9.975640503E-0001 2.71E-0012
44 88.0000 9.993908270E-0001 4.72E-0012
45 90.0000 1.000000000E+0000 6.37E-0012

1.8. Obliczanie wartości funkcji uwikłanych

Podstawą wielu efektywnych algorytmów numerycznych jest obliczanie ciągu liczb,
zbieżnego do poszukiwanej wartości. Proces obliczeniowy polegający na
wykonywaniu zespołu działań niezbędnych do wyznaczenia przybliżenia wyższego na
podstawie znajomości przybliżenia niższego nazywa się metodą kolejnych
przybliżeń lub metodą iteracji.
JednÄ… z najbardziej znanych metod iteracyjnych jest metoda stycznych, nazywana
najczęściej metodą Newtona. Metodę tę zastosujemy do obliczania wartości
funkcji uwikłanej, określonej równaniem

(1.42)
Założymy, że zarówno funkcja jak i jej pochodna są ciągłe.
Ciąg kolejnych przybliżeń metody stycznych Newtona napiszemy rozpatrując wykres
funkcji (rys. 1.3)

(1.43)

w której x pełni rolę parametru. Oznaczając przez przybliżoną wartość nieznanej
funkcji y, na podstawie rysunku 1.3 uzyskujemy zależność



pozwalającą na obliczenie jej nowego przybliżenia

. (1.44)

Uogólniając to postępowanie otrzymujemy wzór określający metodę stycznych
New-tona

(n = 0, 1, 2, ...), (1.45)

w którym jest zadanym przybliżeniem początkowym.




Rys. 1.3
Przerwanie obliczeń następuje w chwili, gdy dwa kolejne przybliżenia spełniają
nierówność

(1.46)

gdzie e jest żądaną dokładnością obliczeń - co gwarantuje na ogół, że również
jest



gdyż ciągi konstruowane w metodzie Newtona są bardzo szybkozbieżne i błędy
zaokrągleń mają niewielki wpływ na przebieg obliczeń. Proces iteracyjny jest
zbieżny, jeżeli pochodne oraz istnieją i nie zmieniają znaku w przedziale
zawierającym nieznaną wartość funkcji y i jej przybliżenie początkowe .
MetodÄ™ Newtona (1.43) ¸ (1.46) zastosujemy obecnie do wyznaczenia wartoÅ›ci
funkcji

(1.47)

PrzyjmujÄ…c funkcjÄ™ (1.42) w postaci

(1.48)

po obliczeniu pochodnej

(1.49)

i wykorzystaniu wzoru (1.45)



ostatecznie uzyskujemy następujący ciąg kolejnych przybliżeń

(1.50)

Z założenia: x > 0 wynika, że musi być również przyjmiemy

(1.51)



Rys. 1.4

W przypadku obliczania pierwiastka kwadratowego ze wzorów (1.47) ¸ (1.49), ciÄ…g
kolejnych przybliżeń (1.50) dla m = 2



nazywa siÄ™ procesem Herona; geometrycznÄ… interpretacjÄ™ metody Newtona,
zastosowanej do funkcji przedstawia rysunek 1.4.
Wyznaczanie wartości funkcji (1.47) przy wykorzystaniu ciągu kolejnych
przybliżeÅ„ (1.50) ¸ (1.51) jest realizowane w programie 1.5. Obliczona z zadanÄ…
dokładnością (1.46) wartość funkcji (1.47) jest porównywana z wartością tej
funkcji, uzyskaną poprzez wywołanie funkcji standardowych.
Tabulogram modułu Obliczenia programu 1.5:


{Program 1.5}
unit Obliczenia;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls,
Forms, Dialogs, StdCtrls, Buttons;
. . . . . . . . . . . . . . . . .

var
Form3: TForm3;
bl,eps,x,y,y1: Double;
iter,m: Integer;
plik: Text;


implementation
uses Ustawienia, Informacje, Grafika, Podglad;
. . . . . . . . . . . . . . . . . . . . . . .

procedure TForm3.BitBtn1Click(Sender: TObject);
label kon;
begin
Form2.Show;
AssignFile(plik,Edit4.Text);
Rewrite(plik); Writeln(plik,'PROGRAM 1.5.');
Writeln(plik,'Obliczanie pierwiastka arytmetycznego.');
Writeln(plik,'Metoda Newtona.');
Writeln(plik,'');
x:=StrToFloat(Edit1.Text);
Writeln(plik,'Argument (x>0) - x = ',x:13);
m:=StrToInt(Edit2.Text);
Writeln(plik,'Stopień pierwiastka - m = ',m);
eps:=StrToFloat(Edit3.Text);
Writeln(plik,'Dokładność obliczeń - eps = ',eps:6);
if x<=0 then begin
Form2.Wyniki.Font.Size:=22;
Form2.Wyniki.Font.Color:=clRed;
Form2.Wyniki.Lines.Text:='Pierwiastek z liczby ujemnej
nie istnieje';
goto kon;
end;
y:=x; iter:=0;
repeat
y1:=((m-1)*y+x*Exp((1-m)*Ln(y)))/m;
bl:=Abs(y-y1); y:=y1;
iter:=iter+1;
until bl Writeln(plik,'');
bl:=Abs(y-Exp(1*Ln(x)/m));
Writeln(plik,'Wartość pierwiastka: ',y:20);
Writeln(plik,'BÅ‚Ä…d pierwiastka: ',bl:11);
Writeln(plik,'Liczba iteracji: ',iter);
kon:
CloseFile(plik);
Form2.Wyniki.Lines.LoadFromFile(Edit4.Text);
end;
. . . . . . . . . . . . . . . . . . . . . . .

procedure TForm3.BitBtn3Click(Sender: TObject);
begin
Close;
end;
end.


Kopie przykładowych wydruków komputerowych ukazujących się na ekranie monitora
w formularzu Obliczenia sÄ… prezentowane na rysunkach 1.5 ÷ 1.7.
W tablicy 1.2 zamieszczone zostały wyniki dotyczące obliczania pierwiastków
arytmetycznych dla x = 2, 3, 4; przyjęto





Rys. 1.5




Rys. 1.6




Rys. 1.7


Wyszukiwarka