Iteratie

Uit Wikipedia, de vrije encyclopedie
Dit is een oude versie van deze pagina, bewerkt door Xqbot (overleg | bijdragen) op 17 apr 2020 om 12:11. (Bot: Replace deprecated <source> tag)
Deze versie kan sterk verschillen van de huidige versie van deze pagina.
Zie Iteratie (doorverwijspagina) voor andere betekenissen van Iteratie.

Iteratie is herhaling, iteratief is herhalend.

Deze termen zijn begrippen uit de wiskunde en de informatica, bedoeld om aan te geven dat met een bepaald zich herhalend proces een berekening kan worden uitgevoerd. Een itererend proces kan bijvoorbeeld convergeren tot één waarde, maar ook leiden tot oscillatie of een chaotische ontwikkeling met zich meebrengen.

Als een bepaalde actie voor de tweede, derde of nde maal wordt uitgevoerd, spreken we van een reeks iteraties, waarvan de nde iteratie nu plaatsvindt.

Iteratieprocedures worden onder andere gebruikt om continue systemen te benaderen met discrete modellen. Door middel van iteratieprocedures kunnen de oplossingen van transcendente vergelijkingen berekend worden en kunnen differentiaalvergelijkingen benaderd worden met differentievergelijkingen.

In de informatica slaat de term iteratief meestal op het programmeren van herhaling met gebruik van zogenaamde lus-constructies (op zijn Engels: loops), die een imperatieve programmeertaal daarvoor aanbiedt. Voorbeelden zijn de for-lus, de while-lus en de until-lus: zie repetitie (informatica) voor details. Een alternatief hiervoor is recursie.

In de taalkunde bedoelt men met iterativiteit (ook wel frequentativiteit genoemd) een vormeigenschap van werkwoorden om herhaalde werking aan te geven, bijvoorbeeld het gebruik van het element -el- of -er- in trappelen, konkelen en popelen.

Voorbeeld

Een voorbeeld van iteratieve berekening is als volgt: Neem het getal 10, tel daar 1 bij op en deel het vervolgens door 2. Tel bij het resultaat weer 1 op en deel het vervolgens weer door 2. Door dit een aantal malen te herhalen zal het resultaat uiteindelijk het getal '1' opleveren. Een ingewikkelder variant is waarbij alle resultaten van de iteraties bij elkaar opgeteld worden. In onderstaand programmeervoorbeeld zou van elke iteratie 1 afgetrokken kunnen worden en door dat resultaat steeds bij elkaar op te tellen ontstaat het getal '9'.

Voorbeeld in pseudocode

De iteratie zoals hierboven beschreven:

P = 10              De variabele noemen we 'P' en deze start bij 10.
Q = 0               De tweede variabele is 'Q', en deze start bij 0.
Doe steeds opnieuw:
{
   P = P + 1        Tel 1 bij 'P' op
   P = P / 2        Deel 'P' door 2
   Q = Q + (P - 1)  Q wordt verhoogd met het verschil van 'P' en 1
}

Het resultaat van bovenstaande berekening is:

Iteratie P Q Iteratie P Q
0 10.000 0.0000 9 1.0176 8.9824
1 5.5000 4.5000 10 1.0088 8.9912
2 3.2500 6.7500 11 1.0044 8.9956
3 2.1250 7.8750 12 1.0022 8.9978
4 1.5625 8.4375 13 1.0011 8.9989
5 1.2813 8.7188 14 1.0005 8.9995
6 1.1406 8.8594 15 1.0003 8.9997
7 1.0703 8.9297 16 1.0001 8.9999
8 1.0352 8.9648

In dit voorbeeld wordt met de variabele 'Q' het getal '9' berekend. Dat is niet erg zinvol, omdat bij deze iteratie van tevoren al bekend is dat '9' de uitkomst is (het optellen en aftrekken met één kan weggehaald worden, en dan blijft over dat steeds de helft bij elkaar opgeteld wordt). Met een eenvoudige iteratie kan echter ook het getal pi berekend worden.

Voorbeeld in Java

In onderstaand voorbeeld, dat geschreven is in Java, wordt de iteratie honderd keer uitgevoerd. De iteratie wordt gedefinieerd met behulp van een for-loop.

for(int i=0; i<100; i++) {
	// Doe iets
}

Voorbeeld in PHP

In onderstaand voorbeeld wordt gebruikgemaakt van een while-loop. Het gaat echter om dezelfde iteratie: deze wordt ook honderd keer uitgevoerd. De iteratie is echter geschreven in PHP.

$i = 0;
while($i < 100) {
	// doe iets
	$i++;
}

Zie ook