Iterace

Z Wikipedie, otevřené encyklopedie

Slovo iterace může být použito ve stejném významu jako opakování.

Základním principem iterace je opakování určitého procesu v měnícím se kontextu. Uplatňuje se především v dynamických jevech.

Základní typy iterací:

  • přenesení postupu do jiného kontextu (například jazyk popisuje jevy okolního světa, metajazyk popisuje jazyk)
  • řešení problému postupným opakováním s dalším a dalším přibližováním se žádoucímu výsledku; každé další opakování mění kontext, ve kterém probíhá další krok
  • prosté opakování (sériová výroba)

Obsah

[editovat] Matematika

Iterace v matematice znamená proces opakovaného použití funkce.

y = f(x)

v dalším kroku se použije výsledek

z = f(y)

Tato metoda se používá při řešení celé řady matematických problémů.

[editovat] Příklad: Transcendentní rovnice

Jednoduchým příkladem k demonstraci iterace je numerické řešení transcendentní rovnice x = cos(x), jejíž analytické řešení pomocí postupných úprav a známých vztahů je nemožné (nebo aspoň velmi obtížné). Pro přibližné řešení stačí vhodně zvolit počáteční hodnotu x, iterovat a sledovat, jak se mění hodnota x.

var x := 1
print x
for i from 1 to 50 {
  x := cos(x)
  print x
}

Je vidět, že zhruba po 25 krocích se již hodnota x vypsaná na 4 desetinná místa nemění:

1.0000 -> 0.5403    0.8576    0.6543    0.7935    0.7014    0.7640
0.7221    0.7504    0.7314    0.7442    0.7356    0.7414    0.7375
0.7401    0.7384    0.7396    0.7388    0.7393    0.7389    0.7392
0.7390    0.7391    0.7391    0.7391    0.7391 -> ...

[editovat] Počítače

Iterace v programování znamená opakované volání funkce v počítačovém programu. Zvláštní formou iterace je rekurze.

Ukázka iterace:

 var i, a := 0        // inicializace před iterací
 for i from 1 to 3 {  // smyčka se opakuje třikrát
     a := a + i       // zvýšit hodnotu o hodnotu i
 }
 print a              // vytisknout číslo 6

V tomto úseku programu se hodnota proměnné i postupně mění a nabývá hodnot 1, 2 a 3. Taková postupná změna je charakteristickým znakem iterace.

[editovat] Podívejte se také na