METODA ELIMINACJI GAUSSA
Układ zapisujemy w postaci macierzy C
{p=1,2,…,n
{{i=p+1, p+2, …,n
{{cij(p)=cij(p-1)
{a11x1+a12x2+…+a1nxn=b1
{a21x1+a22x2+…+a2nxn=b2
{…
{an1x1+an2x2+…+annxn=bn
[c11 c12 … c1n c1,n+1]
[c21 c22 … c2n c2,n+1]
C= [… ]=C(0)
[cn1 cn2 … cnn cn,n+1]
Przekształcamy układ do układu trójkątnego (przez odejmowanie od równań 2,3…n równanie 1 podzielone przez a11 i pomnożone przez ai1, gdzie i-numer równania).
{ c11x1+c12x2+…+c1nxn=c1,n+1
{ c(1)22x2+…+c(1)2nxn=c(1)2,n+1
{ …=…
{ c(n-1)nnxn=c(n-1)n,n+1
Indeksy górne oznaczają numer operacji (0), (1)
{p=1,2,…,n
{{i=p+1,p+2…,n
{{c(p)ij=c(p-1)ij – (c(p-1)ip/c(p-1)pp)* c(p-1)pj
j=p+1,p+2,…,n+1
Najlepiej jest dzielić przez możliwie duże liczby, gdyż dzielenie przez liczby bliskie 0 może prowadzić do błędu. Aby to zrobić sortujemy równania w taki sposób, aby dzielić przez największą dostępną; wprowadzamy sortowanie na każdym etapie. Jest to wybór elementu głównego.
UWARUNKOWANIE ZADAŃ OBLICZENIOWYCH
Badanie uwarunkowania zadania obliczeniowego związane jest z analizą wpływu zaburzeń dawnych na zaburzenie rozwiązania.
Weźmy pod uwagę następujący układ równań wyrażony w postaci macierzowej: AX=Y (1)
Przeanalizujemy wpływ prawej strony na rozwiązanie, tj. wpływ ΔY na względny błąd ΔX.
Mamy więc A(X+ΔX)= (Y+ΔY) (2) Z równań (1) i (2) wynika: ΔX=A-1ΔY , stąd i z równia (2) wynika nierówność: ||ΔX||<||A-1|| ||ΔY|| oraz: ||ΔX||/||A||<=||X|| i ||X||=||A-1Y|| z tych zależności uzyskujemy ||ΔX||/||X||<=(||A-1|| ||Y||)/||A-1Y|| ||ΔY||/||Y||<=||A-1||||A|| ||ΔY||/||Y|| (3) Liczba będąca mnożnikiem po prawej stronie nierówności (3) jest uwarunkowaniem układu równań (condition number) cond(A)=||A||||A-1||
Cond(A)=λmax(A)/λmin(A)
Cond(A)>=1 wiec im mniejsze wartości uwarunkowania macierzy cond(A) (im uwarunkowanie bliższe 1) tym lepiej, jesli jest ono dużą liczbą np 1010 należyw wybrać metodę regularyzacji.
METODY DOKŁADNE – pobierając dane wejściowe dążą do podania rozwiązania finalnego (pętle występują wewnątrz).
M. ITERACYJNE-najpierw proponujemy szereg rozwiązań a następnie otrzymujemy przybliżenia (kolejno). Otrzymujemy ciąg quasi rozwiązań, każdy kolejny wektor będzie lepszym rozwiązaniem, zaprzestajemy rozwiązań, zaprzestajemy rozwiązań, kiedy otrzymany wynik spełnia dane warunki.
W przypadku bardzo dużych układów równań opłaca się wykorzystywać metody iteracyjne prowadzące do ciągu wektorów X0,X1,…Xn określanych z równania macierzowego: Xi+1=WXi+Z
Jeśli ciąg przybliżeń (Xn) zmierza do granicy X to proces przybliżeń nazywamy zbieżnym z metodą efektywną. Np. z układu równań:
{3x1+2x2+1x3=6
{x1+2x2+x3=4
{2x1+1x2+x3=1
Możemy uzyskać następujące równanie macierzowe.
{x1} [0 -2/3 -1/3] {x1} {2}
{x2}=[-1/2 0 ½ ] {x2} +{2}
{x3} [-2 -1 0 ] {x3} {1}
Metody obliczania macierzy
[3 2 1] [3 0 0] [0 2 1]
A=[0 2 0] = [0 2 0]+[1 0 -1]= D+R
[2 1 1] [0 0 1] [2 1 0]
Zatem AX=B => DX+RX=B => DX=-RX+B
Zakładając, że det(D)różny od0 możemy pomnożyć ostatnie równanie przez D-1otrzymując X=-D-1 RX+D-1B czyli X=WX+Z gdzie W=-D-1R12+D-1B Poprawne rozwiązanie równania X=WX+Z otrzymujemy, gdy λmax[W]<1. Aby spełnić ten warunek wystarczy aby ||W||<1.
NORMY MACIERZY
-maksimum sumy wartości bezwzględnych z elementów kolumn analizowanej macierzy ||W||=maxiϵ<1,n>sumani=1|Wij|
-maksimum sumy wartości bezwzględnych z elementów wierszy analizowanej macierzy
||W||=maxjϵ<1,n>sumani=1|Wij|
-pierwiastek kwadratowy z sumy kwadratów elementów analizowanej macierzy ||W||=pierwiastek(sumani=1 sumanj=1 W2ij)
Metody ITERACYJNE:
Iteracja prosta xi+1=wxi+z, i=0,1… xi+1=u oraz xi=x
Np. {ui=0,2x2+0,3x3+1 czyli {u1} [0 0,2 0,3] {x1} {1}
{ ui=0,4x1+0,5x3+2 {u2} = [0,4 0 0,5] {x2}+{2}
{ ui=0,1x1+0,6x2+3 {u3} [0,1 0,6 0] {x3} {3}
Metoda Gaussa-Siedla istota logarytmu polega na wykorzystaniu doliczonych k pierwszych składowych wektora niewiadomych xi+1 do oblicznia k+1 składowej itd. Xi+1=wu Xi + Wl Xi+1+z i=0,1…
Wu-macierz trójkątna górna Wl-macierz trójkątna dolna; gdzie W=Wu+Wl , Wij=0 dla i=1(1)n
Metoda nadrelaksacji jest ulepszeniem metody Gaussa-Siedla mającym na celu poprawić zbieżność iteracji. Polega na sukcesywnym wprowadzaniu w miejsce składowych ni po prawej stronie układu wartości xi+α(ui-xi) gdzie α to wsp. Nadrelaksacji Xi+1=WuXi+Wi[Xi+α(Xi+1-Xi)]+z gdzie αϵ<1,2> oraz αopt=1,8, dla α=1 mamy metodę G-S
INTERPOLACJA funkcji – jest to metoda obliczania przybliżonej wartości funkcji w danym punkcie przedziału <x0,xn>, gdy znana jest wartość tej funkcji w przedziałach x0, x1, x2,…,xn zwanych węzłami interpolacji y0=f(x0), y1=f(x1), …. yn=f(xn) zadaniem interpolacji jest oblicznie przybliżonej wartości funkcji y=f(x) w punktach wewnątrz przedziału <x0, xn> nie będących węzłami interpolacji.
INTERPOLACJA WIELOMIANOWa
Daną funkcję przybliża się przy pomocy wielomianu uogólnionego w postaci:w(x)=sumani=1ai ϕi(x) wektor funkcji: φ(x)=[ϕ0(x), ϕ1(x), …ϕn(x)] Wektor współczynników funkcji interpolującej: AT=[a0,a1,…,an]T wtedy: w(x)=φ(x) A - (wielomian uogólniony,>> XA=Y, W(x)= ɸ(x)A=ɸ(x)X-1Y (<<wielo interpolacyjny) gdzie: ɸ(x)-macierz bazowa, X-1-m. interpolacyjna, Y- wektor wartości funkcji w węzłach
INTERPOLACJA Lagrange’a
W tej interpolacji dla n+1 węzłów interplacji (xi,yi), i=0(1)n przyjmuje się następujące funkcje bazowe ϕi(x)=Πnj=0 ^ j≠i (x-xj) wielomian interpolacyjny ma postać w(x) =a0ϕ0(x)+ a1ϕ1(x)+…+ anϕn(x) Współczynnik wielomianu L wyznacza się z równania XA=Y, gdzie X jest macierzą diagonalną postaci:
[(x0-x1)….(x0-xn)…. 0 ]
X=[ …. …. ]
[ 0 (xn-x0)…(xn-xn-1)] zatem: A=X-1Y stąd: ai=yi/((xi-x0)…. (xi-xi-1)(xi-xi+1)… (xi-xn)) Inter. wielom. Nie jest zbyt efektywna ponieważ macierz X jest macierza pełną (błędy przy odwracaniu) Macierz X nie jest zawsze dobrze uwarunkowana(może być osobliwa) Wzór interpolacyjny ma postać: w(x)=sumani=0 yiLi(x) gdzie yi=f(xi) jest znaną rzędną i-tego węzła interpolacji, Li(x) jest i-tym wielomianem Lagrange’a zdefiniowanym jako Li(x)= Πnj=0 i j≠i (x-xj)/(xi-xj) więc możemy zauważuc, że Li(xk)=0 dla k≠i oraz k=1,2,3..n a dla pozostałych przypadków Li(xi)=1.
Jak wyznacza się współczynniki
APROKSYMACJA FUNKCJI
Aproksymacja funkcji polega na wyznaczeniu dla danej funkcji f(x) takich funkcji F(x), które w określonym sensie najlepiej przybliżają funkcje f(x). Stosujemy je najczęściej , gdy nie znamy funkcji f(x), lub gdy jest podana bardzo złożonym wzorem, który chcemy jakoś uprościć. Rodzaje aproksymacji: 1. Interpolacyjna 2.jednostajna 3. Średniokwadratowa.
APROKSYMACJA INTERPOLACYJNA podobnie jak w przypadku interpolacji żądamy spełnienia warunku aby funkcja f(x) i szukana funkcja F(X) przyjmowały te same wartość dla tych samych argumentów, czyli muszą przechodzić przez te same punkty węzłowe. Czasem chcemy też, żeby pochodne równały się w tych punktach, jeśli pochodne zostaną tam zadane.
APROKSYMACJA JEDNOSTAJNA. W przypadku takiej aproksymacji funkcję f(x) przybliżamy taką funkcją F(x) , która daje najmniejsze maksimum różnicy między F(x) a f(x) w całym przedziale <a,b>: maxxϵ<a,b>|F(x)-f(x)|=min Wielomian o dowolnie małym odchyleniu od funkcji f(x) na przedziale <a,b> możemy wyznaczyć zgodnie z twierdzeniem weierstrassa, jednak nie jest powszechnie znana metoda która pozwala jednoznacznie wyznaczyć wielomian. R=<całka od a do b> [F(x)-f(x)]^2 dx, gdzie R jest sumaryczną odchyłką często nazywaną residuum. Zatem w przypadku tej aproksymacji minimalizowane jest pole odchylenia funkcji F(x) od f(x). Gdy f(x) zadana jest tylko w określonych punktach (xi, f(xi)) używamy kryterium : R=<suma> [F(xi)-f(xi)]^2 =min
METODA NAJMNIEJSZYCH KWADRATÓW
Zakładamy, że mamy wyznaczyć współczynnik pi gdzie i=0(1)k wielomianu aproksymującego zadaną funkcję z=z(u) wg. Kryterium najmniejszych kwadratów z=p0ϕ0(u)+ p1ϕ1(u)+…+ pkϕk(u) Aproksymowana funkcja zadana jest punktami (ui,zi) gdzie i=1(1)n, na podstawie zmienności funkcji przyjmujemy: φ(u)=[ ϕ0(u), ϕ1(u),…, ϕn(u)], kryterium optymalnego doboru parametrów ma postać: R<suma i=0 do n> [p0ϕ0(ui)+ p1ϕ1(ui)+…+ pkϕk(ui)-zi]2=min
{∂R/∂p0=2 <suma i=0 do n> [p0ϕ0(ui)+ p1ϕ1(ui)+…+ pkϕk(ui)-zi] ϕ0(ui)
{…
{∂R/∂pk=2 <suma i=0 do n> [p0ϕ0(ui)+ p1ϕ1(ui)+…+ pkϕk(ui)-zi] ϕk(ui)
Po przyrównaniu pochodnych do 0 otrzymujemy układ k+1 równań liniowych:
{p0<suma>ϕ02(ui)+p1<suma>ϕ02(ui) ϕ1(ui)+…+pk <suma>ϕ0(ui) ϕk(ui)=<suma>ϕ0(ui)zi
{..
{p0<suma>ϕ0(ui) ϕk(ui)+p1<suma>ϕ1(ui) ϕk(ui)+…+pk <suma> ϕk2(ui)=<suma>ϕk(ui)zi
Układ ten można zapisać w postaci UTUP=UTZ prowadzając uogólnioną macierz danych wejściowych U i wektor prawych stron:
[ϕ0(u1) ϕ1(u1) … ϕk(u1)] [z1]
U=[ ϕ0(u2) ϕ1(u2) … ϕk(u2)] Z= [z2]
[.. ] […]
[ϕ0(un) ϕ1(un) … ϕk(un)] [zn]
Przy założeniu det[UTU]≠0 równanie można przekształcić P=(UTU)-1UTZ Prawa strona jest znana i przy spełnieniu w.w. warunku można obliczyć współczynniki pi wielomianu aproksym.
ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH
METODA PRZESZUKIWANIA
przedział <a,b> dzielimy na n równych części i obliczmy wartości y1 = f(xi) Szukamy podprzedziału, dla którego f(a), f(b)<0 jeżeli funkcja ani razu nie zmienia znaku uważamy że nie ma pierwiastka w przedziale <a, b>. Jeżeli znajdziemy przedział izolacji pierwiastka <an, bn>
to zawężamy go dalej aż osiągniemy zadowalającą dokładność tj: |f(x0)\ <= <epsilon> dla an<=x0<=bn Zaletą tej metody jest jej prostota. Wady to: -krok może okazać się za duży i można pominąć jakiś pierwiastek -nie znajduje się pierwiastków w których funkcja osiąga ekstrema lokalne -zwiększenie dokładności osiąga się przez zmniejszenie kroku, co zwieksza czas obliczeń.
METODA BISEKCJI
jeżeli znajdzimy przedział izolacji pierwiastka <an, bn> to zwężanie przedziału izolacji możemy wykonać metoda bisekcji: -jako pierwsze wyznaczamy ciągi przybliżeń przyjmujemy: x1=a, x2=b ,
-kolejne przybliżenie to x1=0.5(xi-1+xk) gdzie k ϵ <1, i-2> , i>2
przy czym tak dobieramy k żeby |xi-xi-1| =~ |xi-xk| oraz F(xi-1)F(xk)<0
f’(b)=tgα tgα=f(b)/Δ Δ=f(b)2/tgα=f(b)/f’(b)
METODA SIECZNYCH
Przybliżenie przyjęte w tej metodzie to punkt przecięcia siecznej z osią odciętych. Jeżeli nie uzyska się żadanej dokładności do dalszych obliczeń jako granicę przedziału przejmuje się przybliżoną wartość pierwiastka.
Mamy: m=(f(b)-f(a))/(b-a) i y=mx+u i m=(0-f(a))/(c-a) stąd uzyskujemy (f(b)-f(a))/(b-a)=-f(a)/(c-a) zatem : c= a+(b-a) f(a)/(f(a)-f(b))
Zazwyczaj zaczynamy od metody przeszukiwania aż znajdziemy przedział izolacji perwiastka f(a) f(b)<0 następnie wykonujemy np. metodę siecznych
Metoda stycznych (Newtona)
Polega na zastąpieniu łuku krzywej y=fx w danym przedziale, w ktorym znajduje się dokładnie 1 pierwiastek rownania fx=0 odcinkiem stycznej poprowadzonej do tej krzywej w pewnym punkcie tego przediału.......
Rozwiązanie równania F(x) = 0 w przedziale [a,b] jest
przybliżone ciągiem miejsc zerowych stycznych do
funkcji F(x).
Równanie stycznej w punkcie xi−1:
y-F(xi−1) =F' (xi−1)(x-xi−1)
Wybór pierwszego przybliżenia x1 = a lub x1 = b:
F'(x) * F′′(x) > 0 x1=b
F'(x) * F′′(x) < 0 x1=a
Jeżeli druga pochodna w przedziale izolacji nie ma stałego
znaku, to proces iteracyjny może być rozbieżny
1. f'(x)>0 , f''(x)<0
2. f'(x)<0 , f''(x)>0
3. f'(x)>0 , f''(x)>0
4 .f'(x)<0 , f''(x)<0
Kwadratury interpolacyjne
Rozpatrujemy funkcję f(x) ciągłą i ograniczoną w przedziale
domkniętym [a, b].
Przedział [a, b] dzielimy na skończoną liczbę podprzedziałów,
wyróżniając na osi x zbiór punktów:
a= x0<x1<x2<...<xi+1<...<xn=b
Punkty xi, i = 0, 1, ..., n tworzą siatkę o stałym kroku (z reguły):
xi+1-xi=h=const
Z własności całki oznaczonej wynika, że:
Istota metody kwadratur interpolacyjnych:
---Przybliżenie funkcji podcałkowej f(x) w przedziale [xi, xi+1]
lub przedziale odpowiednio poszerzonym wzorem
interpolacyjnym
---W(x) – wielomian interpolacyjny
---Wyprowadzenie wzorów przybliżających wartość
całki w przedziale [a, b]
---Wielomian interpolacyjny
I. wzór Newtona
Całkowanie numeryczne
polega na obliczaniu wartości całki oznaczonej w przedziale (a,b) opierając sie na interpretacji geometrycznej calki oznaczonej mozna wyprowadzic wzror na obliczenie dowolnj calki z zadana z gory dokladnoscia.
Metoda prostokatow teoria
Załóżmy, że chcemy obliczyć całkę z funkcji f(x) w przedziale <xp; xk>. Definicja całki oznaczonej Riemana, mówi nam, że wartość całki równa jest sumie pól obszarów pod wykresem krzywej w zadanym przedziale całkowania. Sumę taką możemy obliczyć w przybliżeniu dzieląc obszar całkowania na n równych części. Dla każdej takiej części możemy wyznaczyć prostokąt, który w przybliżeniu będzie odpowiadał polu obszaru pod wykresem krzywej. Jak widać na schemacie poniżej, dla funkcji rosnącej wartości tych przybliżeń będą większe niż w rzeczywistości - nadmiar powoduje część prostokąta znajdująca się ponad wykresem krzywej - dwa pierwsze prostokąty na schemacie. Natomiast dla funkcji malejącej wartości przybliżeń będą mniejsze niż rzeczywiste pole pod wkresem - niedomiar powoduje część pola znajdująca się nad wyznaczonym prostokątem - ostatni prostokąt na schemacie.
Jak już wpomnieliśmy przedział całkowania <xp; xk> podzielimy na n równych części. Szerokość każdej z nich wynosić będzie zatem:
dx = ( xk - xp ) / n.
Taka też będzie szerokość każdego prostokąta przybliżającego nam wartość całki w zadanym przedziale. Wysokość każdego z prostokątów wynosić będzie:
f( xi ) dla i = 1, 2, ..., n, gdzie xi = xp + i*dx.
Całkę w zadanym przedziale uzyskamy dodając do siebie pola wszystkich tych prostokątów, wynosić będzie ona zatem:
dx * f( x1 ) + dx * f( x2 ) + ... + dx * f( xn ) = dx * (f( x1 ) + f( x2 ) + ... + f( xn )).
Warto zauważyć, iż im większa liczba przedziałów n z tym większą dokładnością wyznaczymy interesującą nas całkę.
Metoda trapezów
Załóżmy, że chcemy obliczyć całkę z funkcji f(x) w przedziale <xp; xk>. Definicja całki oznaczonej Riemana, mówi nam, że wartość całki równa jest sumie pól obszarów pod wykresem krzywej w zadanym przedziale całkowania. Sumę taką możemy obliczyć w przybliżeniu dzieląc obszar całkowania na n równych części. Dla każdej takiej części możemy wyznaczyć trapez, który w przybliżeniu będzie odpowiadał polu obszaru pod wykresem krzywej.
Jak już wspomnieliśmy przedział całkowania <xp; xk> podzielimy na n równych części. Szerokość każdej z nich wynosić będzie zatem:
dx = ( xk - xp ) / n.
Taka też będzie wysokość każdego z trapezów. Podstawy i-tego trapezu będą wynosić odpowiednio:
f( xi-1 ) oraz f( xi ) dla i = 1, 2, ..., n, gdzie xi = xp + i*dx.
Pole i-tego trapezu zgodnie ze wzorem wynosić będzie:
Pi = ((f( xi-1 ) + f( xi )) / 2) * dx
Całkę w zadanym przedziale uzyskamy dodając do siebie pola wszystkich wyznaczonych trapezów, wynosić będzie ona zatem:
((f( x0 ) + f( x1 )) / 2) * dx + ((f( x1 ) + f( x2 )) / 2) * dx + ... + ((f( xn-1 ) + f( xn )) / 2) * dx =
= (dx/2) * (f( x0 ) + 2f( x1 ) + 2f( x2 ) + ... + 2f( xn-1 ) + f( xn )) =
= dx * (f( x0 ) / 2 + f( x1 ) + f( x2 ) + ... + f( xn-1 ) + f( xn ) / 2)
W praktyce w pętli dodajemy do siebie wszystkie wartości funkcji od 1 do n-1, a potem dwie wartości brzegowe podzielone przez dwa. Całość mnożymy przez dx i otrzymujemy w ten sposób wynik.
Takie postępowanie daje wyniki lepsze niż całkowanie metodą prostokątów, ale i tutaj otrzymany wynik nie będzie zawsze idealny - zakładamy przecież, że funkcja w obrębie przedziałów jest liniowa, co w ogólności nie musi być prawdą. Na schemacie powyżej widać, że metoda dość dobrze (ale nie idealnie) odwzorowywuje naszą przykładową funkcję w dwóch pierwszych przedziałach, natomiast w ostatnim przedziale widać wyraźnie różnicę pomiędzy polem pod wykresem a wyznaczonym trapezem. Warto zauważyć, iż im większa liczba przedziałów n z tym większą dokładnością wyznaczymy interesującą nas całkę.
Wzór Simpsona
metod przybliżania wartości całki oznaczonej funkcji rzeczywistej
Metoda ma zastosowanie do funkcji stablicowanych w nieparzystej liczbie równo odległych punktów (wliczając końce przedziału całkowania). Metoda opiera się na przybliżaniu funkcji całkowanej przez interpolację wielomianem drugiego stopnia. Geometrycznie metoda ta odpowiada zastąpieniu w każdym z kolejnych k przedziałów zmiennej x łuku wykresu funkcji y=f(x) łukiem paraboli przeprowadzonej przez trzy kolejne węzły interpolacji (punkty wykresu o znanych współrzędnych) odpowiadające początkowi, środkowi i końcowi kolejnego przedziału.
Oznacza to:
f(x) w przedziale [xi, xi+1] jest przybliżona wielomianem
interpolacyjnym ograniczonym do trzech pierwszych
składników
Przedział [a, b] dzieli się na parzystą ilość podprzedziałów
Pole pojedynczego trapezu krzywoliniowego:
Wzór Simpsona:
TEORIA SIMPSON
Załóżmy, że chcemy obliczyć całkę z funkcji f(x) w przedziale <xp; xk>. Definicja całki oznaczonej Riemana, mówi nam, że wartość całki równa jest sumie pól obszarów pod wykresem krzywej w zadanym przedziale całkowania. Sumę taką możemy obliczyć w przybliżeniu dzieląc obszar całkowania na n równych części. W metodach prostokątów i trapezów zakładaliśmy, że przybliżenie funkcji w przedziale jest funkcją liniową (przybliżenie odwzorowywało funkcję na odcinek w obrębie przedziału). W metodzie Simpsona w każdym takim przedziale będziemy przybliżać funkcję dla, której obliczamy całkę przy pomocy paraboli.
Kwadratury Gaussa
Rozpatrujemy funkcję f(x) ciągłą i ograniczoną w przedziale domkniętym [a, b].
Pierwszy krok:
Sprowadzenie całki
do postaci znormalizowanej:
Normalizacja
Podstawienia:
Czyli:
Metoda łamanych Eulera
Zakładamy że ∫xixi+1F[x,y(x)]dx=hiF(xi,yi) gdzie hi=xi+1-xi , czyli że f-cja F[x,y(x)]=const na całym przedziale <xi,yi> zatem (rys1) yxi+1=yi+hiF(xi,yi) ˄ y(x0)=y0 zazwyczaj hi=h=const
Ulepszenia metody Eulera: Modyfikacja 1
Zakładamy że styczna do łuku rozpiętego na punktach A(xi,yi), B(xi+1,yi+1) w punkcie x*=0,5(xi,xi+1) jest w przybliżeniu równoległa do cięciwy AB (rys 2)poszczególne kroki prowadzące do rozw mają postać x*=0,5(xi+xi+1)˄y*yi+0,5hF(xi,yi), m*=F(x*,y*)˄yi+1=yi+hm*
Modyfikacja2 – metoda Eulera-Cauchego
Zakładamy że współczynnik kier. siecznej AB jest średnią arytmetyczną współczynników kier. stycznych do poszukiwanej funkcji w punktach A i B (rys3 )poszczególne kroki prowadzące do rozw mają postać x*=xi+1=xi+h˄y*=yi=hF(xi,yi), m*=F(x*,y*)˄yi+1=yi+0,5[F(xi,yi)+m*]h
Błędy metody i błędy zaokrągleń
Dokładność metody łamanych wyraźnie rośnie przy mniejszym kroku h (rys 4)Jednakże wtedy wymagana jest realizacja znacznie większej liczby kroków co zwiększa tzw. „błąd zaokrąglenia” istnieje wiec pewien optymalny krok h* ale niestety nie ma ogólnej metody pozwalającej na jednoznaczne obliczenie tego kroku
Wzory Rungego-Kutty
W ogólnym przypadku metoda R-K polega na doborze współczynników a1,a2...,b1,b2... oraz A1,A2..., tak aby : yi+1=yi+hϵjmjAj gdzie:
m1=F(xi,yi), m2=F(xi+a1h,yi+b1hm1), m3=F(xi+a2h,yi+b2hm2+b3hm3), m4=….
Ulepszona metoda łamanych –modyfikacja 1
to: a1=0,5 A1=0 a2=1 b1=0,5
Ulepszona metoda łamanych – modyfikacja 2
A1=1 A1=0,5 A2=0,5 b1=1
Graficzna ilustracja do metody RK4 (rys5) poszczególne wsp. m1,m2,m3,m4, odpowiadają stycznym 1(a),1(b),1(c),1(d).
Wzory RK 4 rzędumają postać:
m1=F(xi,yi), m2=F(xi+0,5h, yi+0,5hm1), m3=F(xi+h,yi+hm3), m4=F(xi+h, yi+hm3), yi+1=yi+h(m1+2m2+2m3+m4)/6
Wzory RK3 rzędu mają postać:
m1=F(xi,yi), m2=F(xi+0,5h, yi+0,5hm1), m3=F(xi+h, yi+hm1+2hm2), yi+1=yi+h(m1+hm2+m3)/6
Przeanalizujemy metodę RK z innego pkt widzenia: Yi+1=yi+∫xixi+1F[x,y(x)]dx˄F(x,y)=y’˄y(x0)=y0 zgodnie z tymi warunkami dla pierwszych dwóch pkt całkowania równanie różniczkowe możemy zapisać: y1=y0+∫x0x1F[x,y(x)]dx