Prosta metoda iteracji, zwana także metodąkolejne przybliżenie to algorytm matematyczny służący do znajdowania wartości nieznanej wielkości poprzez jej stopniowe udoskonalanie. Istotą tej metody jest to, że jak sama nazwa wskazuje, stopniowo wyrażając kolejne z początkowego przybliżenia, uzyskuje się coraz bardziej wyrafinowane wyniki. Metoda ta służy do znajdowania wartości zmiennej w danej funkcji, a także przy rozwiązywaniu układów równań, zarówno liniowych, jak i nieliniowych.
Zastanówmy się, jak ta metoda jest implementowana podczas rozwiązywania SLAE. Prosta metoda iteracji ma następujący algorytm:
jeden.Weryfikacja spełnienia warunku zbieżności w oryginalnej macierzy. Twierdzenie o zbieżności: jeśli początkowa macierz układu ma dominację diagonalną (tj. W każdym rzędzie elementy głównej przekątnej muszą mieć większy moduł niż suma elementów wtórnych przekątnych modulo), to metoda prostej iteracje są zbieżne.
2.Macierz oryginalnego systemu nie zawsze ma dominację diagonalną. W takich przypadkach system można przekonwertować. Równania spełniające warunek zbieżności pozostają nienaruszone, az tymi, które nie spełniają, tworzą kombinacje liniowe, tj. pomnóż, odejmij, dodaj równania razem, aż uzyskasz pożądany wynik.
Jeśli w powstałym systemie na głównej przekątnej występują niewygodne współczynniki, to warunki formularza zja* xja, których oznaczenia muszą pokrywać się ze znakami elementów ukośnych.
3. Konwersja powstałego systemu do jego normalnej postaci:
z-= β-+ α * x-
Można to zrobić na wiele sposobów, na przykład w ten sposób: z pierwszego równania wyrażamy x1 przez inne niewiadome, od drugiej - x2, od trzeciego - x3 itp. W tym przypadku używamy formuł:
αij= - (aij / aii)
ja= bja/ aii
Należy ponownie sprawdzić, czy otrzymany układ postaci normalnej spełnia warunek zbieżności:
∑ (j = 1) | αij| ≤ 1, podczas gdy i = 1,2, ... n
4. Zaczynamy w istocie stosować samą metodę kolejnych przybliżeń.
z(0)jest początkowym przybliżeniem, wyrażamy przez nie x(1), a następnie przez x(1) express x(2)... Ogólny wzór w postaci macierzy wygląda następująco:
z(n)= β-+ α * x(n-1)
Obliczamy, aż osiągniemy wymaganą dokładność:
max | xja(k) -xja(k + 1) ≤ ε
Zastosujmy więc prostą metodę iteracji 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 ukośne przeważają w module.
Widzimy, że tylko trzecie równanie spełnia warunek zbieżności. Przekształcamy pierwsze i drugie, dodajemy drugie do pierwszego równania:
7,6x1 + 0,6x2 + 2,4x3 = 3
Odejmij pierwszą od trzeciej:
-2,7x1 + 4,2x2 + 1,2x3 = 2
Przekonwertowaliś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 normalności:
x1 = 0,3947-0,0789x2-0,3158x3
x2 = 0,4762 + 0,6429x1-0,2857x3
x3 = 0,8511-0,383x1-0,5319x2
Sprawdzanie zbieżności 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 przybliżenie x(0) = 0,4762
0,8511
Podstawiając te wartości do równania w postaci normalnej, otrzymujemy następujące wartości:
0,08835
z(jeden)= 0,486793
0,446639
Zastępując nowe wartości otrzymujemy:
0,215243
z(2)= 0,405396
0,558336
Kontynuujemy obliczenia do momentu zbliżenia się do wartości spełniających zadany warunek.
0,18813
z(7)= 0,441091
0,544319
0,188002
z(osiem) = 0,44164
0,544428
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 iteracji daje dość dokładne wyniki, ale musieliśmy poświęcić dużo czasu i kłopotliwych obliczeń, aby rozwiązać to równanie.