/ / Eenvoudige iteratiemethode voor het oplossen van stelsels van lineaire vergelijkingen (SLAE)

Eenvoudige iteratiemethode voor het oplossen van stelsels lineaire vergelijkingen (SLAE)

Eenvoudige iteratiemethode, ook wel methode genoemdopeenvolgende benadering is een wiskundig algoritme voor het vinden van de waarde van een onbekende hoeveelheid door zijn geleidelijke verfijning. De essentie van deze methode is dat, zoals de naam al aangeeft, door geleidelijk de volgende uit te drukken vanaf de initiële benadering, meer en meer verfijnde resultaten worden verkregen. Deze methode wordt gebruikt om de waarde van een variabele in een bepaalde functie te vinden, evenals bij het oplossen van stelsels van vergelijkingen, zowel lineair als niet-lineair.

eenvoudige iteratiemethode

Laten we eens kijken hoe deze methode wordt geïmplementeerd bij het oplossen van een SLAE. De eenvoudige iteratiemethode heeft het volgende algoritme:

1.Controleren of aan de convergentievoorwaarde in de oorspronkelijke matrix is ​​voldaan. Convergentiestelling: als de initiële matrix van het systeem een ​​diagonale dominantie heeft (dwz in elke rij moeten de elementen van de hoofddiagonaal groter zijn in modulus dan de som van de elementen van de secundaire diagonalen modulo), dan is de methode van eenvoudige iteraties convergeert.

2.De matrix van het oorspronkelijke systeem heeft niet altijd een diagonale dominantie. In dergelijke gevallen kan het systeem worden omgebouwd. Vergelijkingen die voldoen aan de convergentievoorwaarde worden intact gelaten, en met vergelijkingen die niet voldoen, vormen ze lineaire combinaties, d.w.z. vermenigvuldigen, aftrekken, de vergelijkingen bij elkaar optellen totdat het gewenste resultaat is verkregen.

Als er in het resulterende systeem op de hoofddiagonaal ongemakkelijke coëfficiënten zijn, dan zijn termen van de vorm metik* xl, waarvan de tekens moeten samenvallen met de tekens van de diagonale elementen.

3. Het resulterende systeem naar zijn normale vorm converteren:

met-=-+ α * x-

Dit kan op veel manieren, bijvoorbeeld als volgt: druk vanuit de eerste vergelijking x . uit1 door andere onbekenden, van de tweede - x2, vanaf de derde - x3 enzovoort. In dit geval gebruiken we de formules:

αij= - (aij / eenii)

ik= bik/ aii
Er moet opnieuw worden geverifieerd dat het resulterende systeem van normaalvorm voldoet aan de convergentievoorwaarde:

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

4. We beginnen in feite de methode van opeenvolgende benaderingen toe te passen.

met(0)is de initiële benadering, we drukken er doorheen x(1), dan door x(1) x uitdrukken(2)... De algemene formule in matrixvorm ziet er als volgt uit:

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

We rekenen tot we de vereiste nauwkeurigheid hebben bereikt:

max | xik(k) -xik(k + 1) ≤ ε

Dus laten we de eenvoudige iteratiemethode in de praktijk brengen. Voorbeeld:
SLAE oplossen:

4,5x1-1,7x2 + 3,5x3 = 2
3,1x1 + 2,3x2-1,1x3 = 1
1,8x1 + 2,5x2 + 4,7x3 = 4 met precisie ε = 10-3

Laten we eens kijken of de diagonale elementen de overhand hebben in modulus.

We zien dat alleen de derde vergelijking voldoet aan de convergentievoorwaarde. We transformeren de eerste en de tweede, voegen de tweede toe aan de eerste vergelijking:

eenvoudige iteratiemethode

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

Trek de eerste van de derde af:

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

We hebben het oorspronkelijke systeem geconverteerd naar een gelijkwaardig systeem:

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

Laten we het systeem nu weer normaal maken:

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

De convergentie van het iteratieve proces controleren:

0,0789 + 0,3158 = 0,3947 ≤ 1
0,6429 + 0,2857 = 0,9286 ≤ 1
0,383+ 0,5319 = 0,9149 ≤ 1, d.w.z. de voorwaarde is voldaan.

0,3947
Initiële benadering x(0) = 0,4762
0,8511

Als we deze waarden in de normaalvormvergelijking plaatsen, krijgen we de volgende waarden:

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

Als we nieuwe waarden substitueren, krijgen we:

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

We gaan door met de berekeningen totdat we in de buurt komen van de waarden die aan de gegeven voorwaarde voldoen.

0,18813

met(7)= 0,441091

0,544319

0,188002

met(acht) = 0,44164

0,544428

Laten we de juistheid van de verkregen resultaten controleren:

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

De resultaten die worden verkregen door de gevonden waarden in de oorspronkelijke vergelijkingen te vervangen, voldoen volledig aan de voorwaarden van de vergelijking.

Zoals we kunnen zien, geeft de eenvoudige iteratiemethode redelijk nauwkeurige resultaten, maar we moesten veel tijd en omslachtige berekeningen besteden om deze vergelijking op te lossen.