LABORATORIUM METOD NUMERYCZNYCH
Temat : Analiza programów stosujących procedury numeryczne .
Wykonał : Dariusz Łuszczyna
Analizowane programy :
1) Metoda RUNGE - KUTTA czwartego rzędu - rozwiązanie
równania różniczkowego .
( program RKOR4M52 )
2) Metoda NEWTONA - rozwiązywanie układu równań
nieliniowych.
( program NWTSY101 )
1) Metoda RUNGE - KUTTA .
( czwartego rzędu - jedno równanie różniczkowe )
a) Opis metody :
Metoda ta służy do rozwiązywania równań różniczkowych typu :
= f(t,y(t)) , t∈[ a ,b ] , y(to)=α o
Przypuśćmy, że znamy y(xn) i chcemy wyznaczyć przybliżenie yn+1 wartości y(xn+h). Pomysł zastosowany w metodach RUNGEGO-KUTTY polega na obliczeniu wartości f(x,y) w pewnych szczególnie dobranych punktach leżących w pobliżu krzywej rozwiązania w przedziale (xn,xn+h) i na utworzeniu takiej kombinacji tych wartości , która z dobrą dokładnością daje przyrost yn+1-yn .
W naszym przypadku stosujemy metodę czwartego rzędu, jest ona określona następującymi wzorami :
wo=α
k1 = hf( ti , wi )
k2 = hf( ti+h , wi+k1 )
k3 = hf( ti+h , wi+k2 )
k4 = hf( ti+1 , wi+k3 )
wi+1=wi+( k1+2k2+2k3+k4 ) , i=0,1,...,N-1
Gdzie wi jest przybliżonym rozwiązaniem naszego równania różniczkowego (trzeba dodać, że jest to przybliżenie dość dobre ).
b) Rozwiązywane równania :
y' = y - t2 + 1 , 0 ≤ t ≤ 2 , y ( 0 ) = 0.5
y' = 1 + , 1 ≤ t ≤ 2 , y ( 1 ) = 2
c) Schemat blokowy programu :
Start
Dane wejściowe :
A , B - granice przedziału
y(A)=αo - wartość funkcji w punkcie
początkowym
N - ilość podprzedziałów
H:= (B-A)/N
T:=A
W:=αo
I:=1
k1 = Hf( TI , WI ) I:=I+1
k2 = Hf( TI+H , WI+k1 )
k3 = Hf( TI+H , WI+k2) WI+1=WI+( k1+2k2+2k3+k4 )
k4 = Hf( TI+1 , WI+k3 ) TI:=A + I*H
Tak
I < N
Nie
Dane wyjściowe :
TI - kolejne wartości zmiennej
WI - przybliżona wartość funkcj
Stop
2) Metoda NEWTONA ( układ równań nieliniowych )
a) Opis metody :
Metoda ta jest połączeniem idei iteracji i lokalnej aproksymacji liniowej.
Dla danego punktu początkowego xo tworzy się ciąg x1,x2, . . .Jego element xn+1 wyznaczamy aproksymując funkcję f(x) styczną do jej wykresu w punkcie (xn,f(xn)) i wybierając xn+1 jako odciętą punktu przecięcia tej stycznej z osią x.
f(x)
x2 x1 x0 x
Do wyznaczenia xn+1 służy równanie :
f ( xn ) + ( xn+1 - xn ) f ' ( xn ) = 0
Metodę Newtona określa następujący wzór iteracyjny :
xn+1 = xn + hn , gdzie hn = -
Dla ukladu równań :
Wzór Taylora dla n wymiarów ma postać analogiczną :
f ( x ) = f ( x(k) ) + f' ( x(k) ) ( x - x(k) ) + O ( x - x(k) 2 )
gdzie f'(x) jest tzw. macierzą Jacobiego o elementach :
f'ij ( x ) = δ fi ( x ) / δ xj ( 1 ≤ i , j ≤ )
Prowadzi to do metody Newtona w n wymierach :
f' ( x(k) ) ( x(k+1) - x(k) ) + f ( x(k) ) = 0
Jest to układ równań liniowych względem x(k+1) , jeśli macierz f' (x(k) ) jest nie osobliwa to można go rozwiązać jakąkolwiek metodą.
b) Rozwiązane układy równań :
x12 - 81(x2 + 0.1)2 + sinx3 + 1.06 = 0
3x1 - cos(x2x3) - = 0
e(-x1x2) + 20x3 + = 0
sinx1 + sin(x1x2) + sin(x1x3) = 0
sinx2 +sin(x2x3) = 0
sin(x1x2x3) =0