Iteratiewe metode

In numeriese analise is 'n iteratiewe metode 'n metode om 'n probleem op te los (soos die vind van die wortels van 'n vergelyking) deur herhaaldelik opeenvolgende benaderings te vind vir die oplossing deur vanaf 'n aanvanklike raaiskoot af te skop. Hierdie benadering staan in kontras met direkte metodes (kyk bv die kwadratiese formule) wat poog om die probleem op te los deur 'n vasgestelde reeks bewerkinge wat, as die afrondingsfout buite rekening gelaat word, 'n eksakte oplossing oplewer (soos die oplos van 'n stel linieêre vergelykings Ax = b deur Gauss eliminasie). Iteratiewe metodes is gewoonlik die enigste keuse vir nie-lineêre vergelykings. Iteratiewe metodes kan egter ook nuttig wees vir lineêre probleme wat 'n groot aantal veranderlikes bevat, waar direkte metodes baie moeilik sal wees.

## Voorbeeld

[wysig | wysig bron]

'n Iteratiewe metode is nodig om byvoorbeeld die Colebrookvergelyking op te los:

1 f ′ = − 2 l o g ( ε / D 3.7 + 2.51 Re f ′ ) {\displaystyle {\frac {1}{\sqrt {f'}}}=-2log\left({\frac {\varepsilon /D}{3.7}}+{\frac {2.51}{{\text{Re}}{\sqrt {f'}}}}\right)}

Los op vir f' as:

* ϵ {\displaystyle \epsilon } = 0.0457 mm
* D {\displaystyle D} = 200 m
* Re {\displaystyle {\text{Re}}} = 662000

Rangskik die vergelyking sodat een van die f' alleen staan.

f ′ = [ − 2 l o g ( ε / D 3.7 + 2.51 Re f ′ ) ] − 2 {\displaystyle f'=\left[-2log\left({\frac {\varepsilon /D}{3.7}}+{\frac {2.51}{{\text{Re}}{\sqrt {f'}}}}\right)\right]^{-2}}

As eerste raaiskoot, raai f' = 0.02 en vervang in die regterkant van die formule. Dus

f ′ = [ − 2 l o g ( ε / D 3.7 + 2.51 Re 0.02 ) ] − 2 = 0.068719821 {\displaystyle f'=\left[-2log\left({\frac {\varepsilon /D}{3.7}}+{\frac {2.51}{{\text{Re}}{\sqrt {0.02}}}}\right)\right]^{-2}=0.068719821}

Vir die tweede iterasie, vervang nou 0.068719821 in die formule. Die resultaat is 0.068688601.

Gaan so voort tot konvergensie verkry word.

Die volgende tabel wys die resultate:

Raai nommer | Getal

|

1 | 0.02
1 | 0.068719821
1 | 0.068688601
1 | 0.06868861
1 | 0.06868861
1 | 0.06868861

Dit is duidelik dat f' = 0.06868861.

Indien die proses nie konvergeer nie, probeer om die vergelyking te rangskik sodat die ander f' alleen staan. Dit behoort in meeste gevalle te werk.