Prosta iteracyjna metoda rozwiązywania układów równań liniowych (wolna). Numeryczne rozwiązywanie układów liniowych równań algebraicznych

Metoda prostych iteracji polega na zastąpieniu pierwotnego równania równaniem równoważnym:

Niech znane będzie początkowe przybliżenie do pierwiastka x = x 0. Podstawiając go na prawą stronę równania (2.7), otrzymujemy nowe przybliżenie , to w podobny sposób otrzymujemy itp.:

. (2.8)


Nie we wszystkich warunkach proces iteracyjny zbiega się do pierwiastka równania X. Rozważmy ten proces bardziej szczegółowo. Rysunek 2.6 przedstawia graficzną interpretację jednokierunkowego procesu zbieżnego i rozbieżnego. Rysunek 2.7 przedstawia dwukierunkowe procesy zbieżne i rozbieżne. Proces rozbieżny charakteryzuje się szybkim wzrostem wartości argumentu i funkcji oraz awarią odpowiedniego programu.


W przypadku procesu dwukierunkowego możliwa jest pętla, czyli niekończące się powtarzanie tych samych wartości funkcji i argumentu. Zapętlanie oddziela proces rozbieżny od procesu zbieżnego.

Z wykresów widać, że zarówno w procesach jednostronnych, jak i dwustronnych zbieżność do pierwiastka jest określona przez nachylenie krzywej w pobliżu pierwiastka. Im mniejsze nachylenie, tym lepsza zbieżność. Jak wiesz, tangens nachylenia krzywej jest równy pochodnej krzywej w danym punkcie.

Dlatego im mniej blisko korzenia, tym szybciej proces się zbiega.

Aby proces iteracyjny był zbieżny, w pobliżu pierwiastka musi być spełniona nierówność:

Przejście od równania (2.1) do równania (2.7) można wykonać na różne sposoby, w zależności od rodzaju funkcji f(x). W takim przejściu konieczne jest skonstruowanie funkcji w taki sposób, aby spełniony był warunek zbieżności (2.9).

Rozważ jeden z ogólnych algorytmów przejścia z równania (2.1) do równania (2.7).

Mnożymy lewą i prawą stronę równania (2.1) przez dowolną stałą B i dodaj do obu części nieznane X. W takim przypadku pierwiastki pierwotnego równania nie ulegną zmianie:

Wprowadzamy notację i przejść z zależności (2.10) do równania (2.8).


Dowolny wybór stałej B zapewni spełnienie warunku konwergencji (2.9). Warunek (2.2) będzie kryterium zakończenia procesu iteracyjnego. Na rysunku 2.8 przedstawiono graficzną interpretację metody prostych iteracji z opisaną metodą reprezentacji (skale wzdłuż osi X i Y są różne).

Jeśli funkcja jest wybrana w formie, to pochodną tej funkcji będzie . Najwyższe tempo konwergencji wyniesie wtedy a wzór iteracyjny (2.11) przechodzi do wzoru Newtona . Zatem metoda Newtona ma najwyższy stopień zbieżności ze wszystkich procesów iteracyjnych.

Implementacja programowa metody prostych iteracji odbywa się w postaci procedury podprogramu Iteras(PROGRAM 2.1).


Cała procedura składa się praktycznie z pojedynczej pętli Repeat... Until, która realizuje formułę (2.11) uwzględniającą warunek zakończenia procesu iteracyjnego (formuła (2.2)).

Zabezpieczenie pętli jest wbudowane w procedurę poprzez zliczanie liczby pętli za pomocą zmiennej Niter. W ćwiczeniach praktycznych należy upewnić się, uruchamiając program, jak wpływa wybór współczynnika B i wstępne przybliżenie procesu znajdowania pierwiastka. Podczas zmiany współczynnika B zmienia się charakter procesu iteracyjnego badanej funkcji. Najpierw staje się dwustronny, a następnie zapętla (ryc. 2.9). Skaluj wzdłuż osi X I Y różny. Jeszcze większy moduł b prowadzi do rozbieżnego procesu.

Porównanie metod przybliżonego rozwiązywania równań

Porównanie metod numerycznego rozwiązywania opisanych powyżej równań przeprowadzono za pomocą programu umożliwiającego obserwację procesu znajdowania pierwiastka w postaci graficznej na ekranie komputera. Procedury zawarte w tym programie i wdrażające porównywane metody podano poniżej (PROGRAM 2.1).

Ryż. 2.3-2.5, 2.8, 2.9 to kopie ekranu komputera na końcu procesu iteracyjnego.

We wszystkich przypadkach równanie kwadratowe x 2 -x-6 \u003d 0 przyjęto jako badaną funkcję, mającą rozwiązanie analityczne x 1 \u003d -2 i x 2 \u003d 3. Błąd i początkowe przybliżenia przyjęto za równe wszystkie metody. Główne wyniki wyszukiwania x= 3 pokazane na figurach są następujące. Metoda dychotomii zbiega najwolniej – 22 iteracje, najszybciej – metoda iteracji prostych przy b = -0,2 - 5 iteracjach. Nie ma tu sprzeczności ze stwierdzeniem, że metoda Newtona jest najszybsza.

Pochodna badanej funkcji w punkcie X= 3 jest równe -0,2, czyli obliczenia w tym przypadku przeprowadzono praktycznie metodą Newtona z wartością pochodnej w punkcie pierwiastka równania. Podczas zmiany współczynnika B tempo konwergencji maleje, a proces stopniowej konwergencji najpierw przebiega cyklicznie, a następnie staje się rozbieżny.

Wykład Iteracyjne metody rozwiązywania układów algebraicznych równań liniowych.

Warunek zbieżności procesu iteracyjnego Metoda Jacobiego Metoda Seidela

Prosta metoda iteracyjna

Rozważany jest układ liniowych równań algebraicznych

Aby zastosować metody iteracyjne, system musi zostać zredukowany do równoważnej postaci

Następnie wybiera się początkowe przybliżenie do rozwiązania układu równań i znajduje ciąg przybliżeń do pierwiastka.

Aby proces iteracyjny był zbieżny, wystarczy spełnić warunek
(norma macierzowa). Kryterium zakończenia iteracji zależy od zastosowanej metody iteracyjnej.

Metoda Jacobiego .

Najprostszy sposób doprowadzenia systemu do postaci wygodnej dla iteracji jest następujący:

Z pierwszego równania układu wyrażamy niewiadomą X 1 , z drugiego równania układu wyrażamy X 2 itd.

W rezultacie otrzymujemy układ równań z macierzą B, w którym elementy zerowe znajdują się na głównej przekątnej, a pozostałe elementy obliczane są ze wzorów:

Składowe wektora d oblicza się według wzorów:

Formuła obliczeniowa prostej metody iteracyjnej to:

lub w notacji współrzędnych wygląda tak:

Kryterium zakończenia iteracji w metodzie Jacobiego ma postać:

Jeśli
, to możemy zastosować prostsze kryterium zakończenia iteracji

Przykład 1 Rozwiązywanie układu równań liniowych metodą Jacobiego.

Niech dany będzie układ równań:

Wymagane jest dokładne znalezienie rozwiązania układu

Doprowadzamy system do postaci wygodnej do iteracji:

Wybieramy wstępne przybliżenie, np.

jest wektorem prawej strony.

Wtedy pierwsza iteracja wygląda tak:

W podobny sposób otrzymuje się następujące przybliżenia rozwiązania.

Znajdź normę macierzy B.

Zastosujemy normę

Ponieważ suma modułów elementów w każdym rzędzie wynosi 0,2, to
, więc kryterium zakończenia iteracji w tym problemie jest

Obliczmy normy różnic wektorów:

Ponieważ
określona dokładność jest osiągana w czwartej iteracji.

Odpowiedź: X 1 = 1.102, X 2 = 0.991, X 3 = 1.0 1 1

Metoda Seidela .

Metodę można uznać za modyfikację metody Jacobiego. Główną ideą jest to, że przy obliczaniu następnego (n+1)-te przybliżenie do nieznanego X I Na i>1 użyj już znalezionego (n+1)- zbliża się do nieznanego X 1 ,X 2 , ...,X ja - 1 , nie N przybliżenie, jak w metodzie Jacobiego.

Formuła obliczeniowa metody w zapisie współrzędnych wygląda następująco:

Warunki zbieżności i kryterium zakończenia iteracji można przyjąć takie same jak w metodzie Jacobiego.

Przykład 2 Rozwiązywanie układów równań liniowych metodą Seidela.

Rozważ równolegle rozwiązanie 3 układów równań:

Doprowadzamy systemy do postaci wygodnej dla iteracji:

Zauważ, że warunek zbieżności
wykonywane tylko dla pierwszego systemu. W każdym przypadku obliczamy 3 pierwsze przybliżenia rozwiązania.

1 system:

Dokładnym rozwiązaniem będą wartości: X 1 = 1.4, X 2 = 0.2 . Proces iteracyjny jest zbieżny.

2 system:

Można zauważyć, że proces iteracyjny jest rozbieżny.

Dokładne rozwiązanie X 1 = 1, X 2 = 0.2 .

trzeci system:

Można zauważyć, że proces iteracyjny zapętlił się.

Dokładne rozwiązanie X 1 = 1, X 2 = 2 .

Niech macierz układu równań A będzie symetryczna i dodatnio określona. Następnie, dla dowolnego wyboru początkowego przybliżenia, metoda Seidela jest zbieżna. Nie narzuca się tutaj dodatkowych warunków dotyczących małości normy jakiejś macierzy.

Prosta metoda iteracyjna.

Jeśli A jest macierzą symetryczną i dodatnio określoną, to układ równań często sprowadza się do postaci równoważnej:

X=X-τ(A X- b), τ jest parametrem iteracyjnym.

Formuła obliczeniowa prostej metody iteracyjnej w tym przypadku jest następująca:

X (n+1) =X N- τ (A X (N) - B).

a parametr τ > 0 dobiera się tak, aby w miarę możliwości była to wartość minimalna

Niech λ min i λ max będą minimalnymi i maksymalnymi wartościami własnymi macierzy A. Optymalnym wyborem jest parametr

W tym przypadku
przyjmuje minimalną wartość równą:

Przykład 3 Rozwiązywanie układów równań liniowych metodą prostej iteracji. (w MathCADzie)

Niech układ równań Ax = b

    Aby skonstruować proces iteracyjny, znajdujemy wartości własne macierzy A:

- używa wbudowanej funkcji do znajdowania wartości własnych.

    Oblicz parametr iteracyjny i sprawdź warunek zbieżności

Warunek zbieżności jest spełniony.

    Weźmy wstępne przybliżenie - wektor x0, ustawmy dokładność na 0,001 i znajdźmy początkowe przybliżenia korzystając z poniższego programu:

Dokładne rozwiązanie

Komentarz. Jeśli program zwróci macierz rez, możesz zobaczyć wszystkie znalezione iteracje.

Zaletą metod iteracyjnych jest ich przydatność do systemów źle uwarunkowanych i systemów wysokiego rzędu, ich samokorekta oraz łatwość implementacji na PC. Metody iteracyjne do rozpoczęcia obliczeń wymagają wstępnego przybliżenia pożądanego rozwiązania.

Należy zauważyć, że warunki i szybkość zbieżności procesu iteracyjnego zależą zasadniczo od właściwości macierzy A systemu i od wyboru wstępnych przybliżeń.

Aby zastosować metodę iteracji, oryginalny system (2.1) lub (2.2) musi zostać zredukowany do postaci

po czym wykonywany jest proces iteracyjny według rekurencyjnych formuł

, k = 0, 1, 2, ... . (2.26A)

Matryca G i wektor otrzymuje się w wyniku przekształcenia układu (2.1).

Dla konwergencji (2.26 A) jest konieczne i wystarczające dla |l I(G)| < 1, где lI(G) to wszystkie wartości własne macierzy G. Zbieżność wystąpi również wtedy, gdy || G|| < 1, так как |lI(G)| < " ||G||, gdzie " jest dowolne.

Symbol || ... || oznacza normę macierzy. Przy ustalaniu jego wartości najczęściej poprzestają na sprawdzeniu dwóch warunków:

||G|| = lub || G|| = , (2.27)

Gdzie . Zbieżność jest również gwarantowana, jeśli oryginalna macierz A ma przewagę diagonalną, tj.

. (2.28)

Jeśli spełniony jest warunek (2.27) lub (2.28), metoda iteracji jest zbieżna dla dowolnego początkowego przybliżenia. Najczęściej przyjmuje się, że wektor wynosi zero lub jedność, albo sam wektor bierze się z (2.26).

Istnieje wiele podejść do przekształcania oryginalnego systemu (2.2) za pomocą macierzy A aby zapewnić postać (2.26) lub spełnić warunki zbieżności (2.27) i (2.28).

Na przykład (2.26) można otrzymać w następujący sposób.

Pozwalać A = W+ Z, det W¹ 0; Następnie ( B+ Z)= Þ B= −C+ Þ Þ B –1 B= −B –1 C+ B–1 , skąd = − B –1 C+ B –1 .

Stawianie - B –1 C = G, B–1 = , otrzymujemy (2,26).

Z warunków zbieżności (2.27) i (2.28) widać, że reprezentacja A = W+ Z nie może być dowolny.

Jeśli macierz A spełnia warunki (2.28), to jako macierz W możesz wybrać dolny trójkąt:

, ai ¹ 0.

; Þ ; Þ ; Þ

Wybierając parametr a, możemy zapewnić, że || G|| = ||mi+ za A|| < 1.

Jeśli przeważa (2.28), to transformację do (2.26) można wykonać, rozwiązując każdy z nich I równanie układu (2.1) względem x ja według następujących wzorów rekurencyjnych:

(2.28A)

Jeśli w matrixie A nie ma przewagi diagonalnej, należy to osiągnąć za pomocą pewnych przekształceń liniowych, które nie naruszają ich równoważności.

Jako przykład rozważ system

(2.29)

Jak widać, w równaniach (1) i (2) nie ma dominacji diagonalnej, ale w (3) jest, więc pozostawiamy to bez zmian.

Osiągnijmy dominację diagonalną w równaniu (1). Pomnóż (1) przez a, (2) przez b, dodaj oba równania i wybierz aib w wynikowym równaniu, tak aby dominowała przekątna:

(2a + 3b) X 1 + (-1,8a + 2b) X 2 +(0,4a - 1,1b) X 3 = za.

Biorąc a = b = 5, otrzymujemy 25 X 1 + X 2 – 3,5X 3 = 5.

Aby przekształcić równanie (2) z dominacją (1), mnożymy przez g, (2) mnożymy przez d i odejmujemy (1) od (2). Dostawać

(3d - 2g) X 1+(2d+1,8g) X 2 +(-1,1d - 0,4g) X 3 = −g .

Stawiając d = 2, g = 3, otrzymujemy 0 X 1 + 9,4 X 2 – 3,4 X 3 = -3. W rezultacie otrzymujemy system

(2.30)

Ta technika może być wykorzystana do znalezienia rozwiązań dla szerokiej klasy macierzy.

Lub

Przyjmując jako wstępne przybliżenie wektor = (0,2; -0,32; 0) T, rozwiążemy ten system za pomocą technologii (2.26 A):

k = 0, 1, 2, ... .

Proces obliczeń zatrzymuje się, gdy dwa sąsiednie przybliżenia wektora rozwiązania pokrywają się pod względem dokładności, tj.

.

Technologia rozwiązań iteracyjnych postaci (2.26 A) ma na imię przez prostą iterację .

Bezwzględne oszacowanie błędu dla prostej metody iteracji:

gdzie symbol || ... || oznacza normę.

Przykład 2.1. Metodą prostej iteracji z dokładnością e = 0,001 rozwiąż układ równań liniowych:

Liczbę kroków dających odpowiedź z dokładnością do e = 0,001 można wyznaczyć z zależności

0,001 GBP.

Oszacujmy zbieżność według wzoru (2.27). Tutaj || G|| = = maks. (0,56; 0,61; 0,35; 0,61) = 0,61< 1; = 2,15. Значит, сходимость обеспечена.

Jako wstępne przybliżenie przyjmujemy wektor wyrazów swobodnych, tj. = (2,15; -0,83; 1,16; 0,44) T. Podstawiamy wartości wektora do (2.26 A):

Kontynuując obliczenia, wpiszemy wyniki do tabeli:

k X 1 X 2 X 3 X 4
2,15 –0,83 1,16 0,44
2,9719 –1,0775 1,5093 –0,4326
3,3555 –1,0721 1,5075 –0,7317
3,5017 –1,0106 1,5015 –0,8111
3,5511 –0,9277 1,4944 –0,8321
3,5637 –0,9563 1,4834 –0,8298
3,5678 –0,9566 1,4890 –0,8332
3,5760 –0,9575 1,4889 –0,8356
3,5709 –0,9573 1,4890 –0,8362
3,5712 –0,9571 1,4889 –0,8364
3,5713 –0,9570 1,4890 –0,8364

Zbieżność w tysięcznych następuje już na 10 kroku.

Odpowiedź: X 1 » 3,571; X 2 » -0,957; X 3 » 1,489; X 4 "-0,836.

Rozwiązanie to można również otrzymać za pomocą wzorów (2.28 A).

Przykład 2.2. Aby zilustrować algorytm za pomocą wzorów (2.28 A) rozważyć rozwiązanie układu (tylko dwie iteracje):

; . (2.31)

Przekształćmy układ do postaci (2.26) zgodnie z (2.28 A):

Þ (2.32)

Przyjmijmy początkowe przybliżenie = (0; 0; 0) T. potem dla k= 0 oczywiście wartość = (0,5; 0,8; 1,5) T. Podstawmy te wartości do (2.32), tj. za k= 1 otrzymujemy = (1,075; 1,3; 1,175) T.

Błąd e 2 = = maks.(0,575; 0,5; 0,325) = 0,575.

Schemat blokowy algorytmu znajdowania rozwiązania SLAE metodą prostych iteracji zgodnie z działającymi wzorami (2.28 A) pokazano na ryc. 2.4.

Cechą schematu blokowego jest obecność następujących bloków:

- blok 13 - jego przeznaczenie omówiono poniżej;

- blok 21 - wyświetlenie wyników na ekranie;

– blok 22 – weryfikacja (wskaźnik) zbieżności.

Przeanalizujmy proponowany schemat na przykładzie układu (2.31) ( N= 3, w = 1, e = 0,001):

= ; .

Blok 1. Wprowadź dane początkowe A, , My, N: N= 3, w = 1, mi = 0,001.

Cykl I. Ustaw początkowe wartości wektorów X 0I I x ja (I = 1, 2, 3).

Blok 5. Zresetuj licznik liczby iteracji.

Blok 6. Zresetuj bieżący licznik błędów.

W pętla II zmienia numery wierszy macierzy A i wektor .

II cykl:I = 1: S = B 1 = 2 (blok 8).

Przejdź do pętli zagnieżdżonej III, blok 9 - licznik numerów kolumn macierzy A: J = 1.

Blok 10: J = I, zatem wracamy do bloku 9 i zwiększamy J za sztukę: J = 2.

W bloku 10 J ¹ I(2 ¹ 1) - przejdź do bloku 11.

Blok 11: S= 2 – (–1) × X 0 2 \u003d 2 - (-1) × 0 \u003d 2, przejdź do bloku 9, w którym J zwiększyć o jeden: J = 3.

W bloku 10 warunek J ¹ I stracony, więc idź na blok 11.

Blok 11: S= 2 – (–1) × X 0 3 \u003d 2 - (-1) × 0 \u003d 2, po czym przechodzimy do bloku 9, w którym J zwiększyć o jeden ( J= 4). Oznaczający J więcej N (N= 3) – zakończ pętlę i przejdź do bloku 12.

Blok 12: S = S / A 11 = 2 / 4 = 0,5.

Blok 13: w = 1; S = S + 0 = 0,5.

Blok 14: D = | x jaS | = | 1 – 0,5 | = 0,5.

Blok 15: x ja = 0,5 (I = 1).

Blok 16. Sprawdź stan D > de: 0.5 > 0, zatem przechodzimy do bloku 17, w którym przypisujemy de= 0,5 i zwróć przez odniesienie " A» do kolejnego kroku cyklu II – do bloku 7, w którym I zwiększyć o jeden.

II cykl: I = 2: S = B 2 = 4 (blok 8).

J = 1.

Przez blok 10 J ¹ I(1 ¹ 2) - przejdź do bloku 11.

Blok 11: S= 4 – 1 × 0 = 4, przejdź do bloku 9, w którym J zwiększyć o jeden: J = 2.

W bloku 10 warunek nie jest spełniony, więc przechodzimy do bloku 9, w którym J zwiększyć o jeden: J= 3. Analogicznie przechodzimy do bloku 11.

Blok 11: S= 4 – (–2) × 0 = 4, po czym kończymy cykl III i przechodzimy do bloku 12.

Blok 12: S = S/ A 22 = 4 / 5 = 0,8.

Blok 13: w = 1; S = S + 0 = 0,8.

Blok 14: D = | 1 – 0,8 | = 0,2.

Blok 15: x ja = 0,8 (I = 2).

Blok 16. Sprawdź stan D > de: 0,2 < 0,5; следовательно, возвращаемся по ссылке «A» do kolejnego kroku cyklu II – do bloku 7.

II cykl: I = 3: S = B 3 = 6 (blok 8).

Przejdź do zagnieżdżonej pętli III, blok 9: J = 1.

Blok 11: S= 6 – 1 × 0 = 6, przejdź do bloku 9: J = 2.

Przez blok 10 przechodzimy do bloku 11.

Blok 11: S= 6 – 1 × 0 = 6. Zakończ cykl III i przejdź do bloku 12.

Blok 12: S = S/ A 33 = 6 / 4 = 1,5.

Blok 13: S = 1,5.

Blok 14: D = | 1 – 1,5 | = 0,5.

Blok 15: x ja = 1,5 (I = 3).

Zgodnie z blokiem 16 (biorąc pod uwagę odniesienia „ A" I " Z”) wyjść z cyklu II i przejść do bloku 18.

Blok 18. Zwiększ liczbę iteracji To = To + 1 = 0 + 1 = 1.

W blokach 19 i 20 cyklu IV zamieniamy wartości początkowe X 0I otrzymane wartości x ja (I = 1, 2, 3).

Blok 21. Drukujemy wartości pośrednie bieżącej iteracji, w tym przypadku: = (0,5; 0,8; 1,5) T, To = 1; de = 0,5.

Przejdź do cyklu II na bloku 7 i wykonaj rozważane obliczenia z nowymi wartościami początkowymi X 0I (I = 1, 2, 3).

Po czym dostajemy X 1 = 1,075; X 2 = 1,3; X 3 = 1,175.

Tutaj zatem metoda Seidela jest zbieżna.

Według wzorów (2.33)

k X 1 X 2 X 3
0,19 0,97 –0,14
0,2207 1,0703 –0,1915
0,2354 1,0988 –0,2118
0,2424 1,1088 –0,2196
0,2454 1,1124 –0,2226
0,2467 1,1135 –0,2237
0,2472 1,1143 –0,2241
0,2474 1,1145 –0,2243
0,2475 1,1145 –0,2243

Odpowiedź: X 1 = 0,248; X 2 = 1,115; X 3 = –0,224.

Komentarz. Jeżeli dla tego samego systemu proste iteracje i metody Seidela są zbieżne, wówczas preferowana jest metoda Seidela. Jednak w praktyce obszary zbieżności tych metod mogą być różne, tzn. prosta metoda iteracji jest zbieżna, natomiast metoda Seidela rozbieżna i odwrotnie. Dla obu metod, jeśli || G|| blisko jednostka, współczynnik konwergencji jest bardzo niski.

W celu przyspieszenia konwergencji stosuje się sztuczną technikę – tzw metoda relaksacyjna . Jej istota polega na tym, że kolejną wartość uzyskuje się metodą iteracyjną x ja (k) jest przeliczany zgodnie ze wzorem

gdzie w jest zwykle zmieniane z 0 na 2 (0< w £ 2) с каким-либо шагом (H= 0,1 lub 0,2). Parametr w dobiera się tak, aby zbieżność metody została osiągnięta w jak najmniejszej liczbie iteracji.

Relaks- stopniowe osłabienie dowolnego stanu organizmu po ustaniu czynników, które ten stan spowodowały (fiz. tech.).

Przykład 2.4. Rozważ wynik piątej iteracji za pomocą wzoru na relaksację. Weźmy w = 1,5:

Jak widać, uzyskano wynik prawie siódmej iteracji.

Metoda prostej iteracji, zwana także metodą kolejnych przybliżeń, jest matematycznym algorytmem znajdowania wartości nieznanej wielkości poprzez stopniowe jej udoskonalanie. Istota tej metody polega na tym, że jak sama nazwa wskazuje, stopniowo wyrażając kolejne z początkowego przybliżenia, uzyskują coraz bardziej wyrafinowane wyniki. Metodę tę stosuje się do znajdowania wartości zmiennej w danej funkcji, a także do rozwiązywania układów równań, zarówno liniowych, jak i nieliniowych.

Zastanówmy się, jak ta metoda jest wdrażana podczas rozwiązywania SLAE. Prosta metoda iteracji ma następujący algorytm:

1. Weryfikacja warunku zbieżności w oryginalnej macierzy. Twierdzenie o zbieżności: jeśli pierwotna macierz układu ma dominację diagonalną (tj. w każdym rzędzie elementy głównej przekątnej muszą być większe pod względem modułu niż suma elementów bocznych przekątnych w modulo), to metoda prostej iteracje są zbieżne.

2. Macierz pierwotnego systemu nie zawsze ma dominację diagonalną. W takich przypadkach system można zmodyfikować. Równania, które spełniają warunek zbieżności, pozostają nietknięte, a z tymi, które go nie spełniają, tworzą kombinacje liniowe, tj. mnożyć, odejmować, dodawać do siebie równania, aż do uzyskania pożądanego wyniku.

Jeżeli w powstałym układzie występują niewygodne współczynniki na głównej przekątnej, to do obu części takiego równania dodaje się wyrazy postaci c i * x i, których znaki muszą pokrywać się ze znakami elementów diagonalnych.

3. Transformacja wynikowego układu do postaci normalnej:

x - =β - +α*x -

Można to zrobić na wiele sposobów, na przykład w następujący sposób: z pierwszego równania wyraź x 1 pod względem innych niewiadomych, z drugiego - x 2, z trzeciego - x 3 itd. Korzystamy tutaj ze wzorów:

α ij = -(a ij / a ii)

ja = b ja / a ii
Powinieneś ponownie upewnić się, że wynikowy układ postaci normalnej spełnia warunek zbieżności:

∑ (j=1) |α ij |≤ 1, natomiast i= 1,2,...n

4. Zaczynamy właściwie stosować samą metodę kolejnych przybliżeń.

x (0) - początkowe przybliżenie, wyrażamy przez nie x (1) , następnie przez x (1) wyrażamy x (2) . Ogólny wzór w postaci macierzowej wygląda następująco:

x (n) = β - +α*x (n-1)

Obliczamy, aż osiągniemy wymaganą dokładność:

max |x ja (k)-x ja (k+1) ≤ ε

Przyjrzyjmy się zatem prostej metodzie iteracyjnej w praktyce. Przykład:
Rozwiąż SLAE:

4,5x1-1,7x2+3,5x3=2
3,1x1+2,3x2-1,1x3=1
1,8x1+2,5x2+4,7x3=4 z dokładnością ε=10 -3

Zobaczmy, czy elementy przekątne przeważają modulo.

Widzimy, że tylko trzecie równanie spełnia warunek zbieżności. Przekształcamy pierwsze i drugie równanie, dodajemy drugie do pierwszego równania:

7,6x1+0,6x2+2,4x3=3

Odejmij pierwszą od trzeciej:

2,7x1+4,2x2+1,2x3=2

Przekształciliśmy oryginalny system na równoważny:

7,6x1+0,6x2+2,4x3=3
-2,7x1+4,2x2+1,2x3=2
1,8x1+2,5x2+4,7x3=4

Teraz przywróćmy system do normy:

x1=0,3947-0,0789x2-0,3158x3
x2=0,4762+0,6429x1-0,2857x3
x3= 0,8511-0,383x1-0,5319x2

Sprawdzamy zbieżność procesu iteracyjnego:

0.0789+0.3158=0,3947 ≤ 1
0.6429+0.2857=0.9286 ≤ 1
0,383+ 0,5319= 0,9149 ≤ 1 , tj. warunek jest spełniony.

0,3947
Wstępne przypuszczenie x(0) = 0,4762
0,8511

Podstawiając te wartości do równania postaci normalnej, otrzymujemy następujące wartości:

0,08835
x(1) = 0,486793
0,446639

Zastępując nowe wartości, otrzymujemy:

0,215243
x(2) = 0,405396
0,558336

Kontynuujemy obliczenia, aż zbliżymy się do wartości spełniających zadany warunek.

x(7) = 0,441091

Sprawdźmy poprawność uzyskanych wyników:

4,5*0,1880 -1.7*0,441+3.5*0,544=2,0003
3,1*0,1880+2,3*0,441-1,1x*0,544=0,9987
1.8*0,1880+2.5*0,441+4.7*0,544=3,9977

Wyniki uzyskane przez podstawienie znalezionych wartości do pierwotnych równań w pełni spełniają warunki równania.

Jak widać, prosta metoda iteracyjna daje dość dokładne wyniki, jednak aby rozwiązać to równanie, musieliśmy poświęcić dużo czasu i wykonać żmudne obliczenia.

KATEGORIE

POPULARNE ARTYKUŁY

2023 „kingad.ru” - badanie ultrasonograficzne narządów ludzkich