Iterace
Slovo iterace může být použito ve stejném významu jako opakování (lat. iterāre – opakovat).[1]
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)
Matematika
Iterace v matematice znamená proces opakovaného použití funkce s cílem přiblížení se, dosáhnutí cíle či výsledku. Každé opakování procesu je taktéž nazváno iterací a výsledky z jedné iterace se použijí jako vstup pro další iteraci.
V matematice může iterace odkazovat na proces iterace funkce, tj. opakované užití funkce pomoci výstupu z jedné iterace jako vstup do další. Iterace zdánlivě jednoduchých funkcí může vytvářet složité problémy – např. Collatzova metoda.
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ů.
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 (např. ), 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 → …
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 (v pseudokódu):
var i, a := 0 // inicializace proměnných před iterací for i from 1 to 3 { // smyčka se opakuje třikrát, přičemž i nabývá hodnot z pole {1,2,3} 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.
Regulární výrazy
V regulárních výrazech se mohou vyskytovat iterace dvojího typu, syntakticky zapsané pomocí unárních operátorů:
X*
pro i nulový počet iterací, tedy žádný nagenerovaný / přijatý znak, se syntaktickým záznamem pomocí "hvězdičky", úplně formálně v pozici mocniny;X+
pro nenulový počet iterací, tedy pro alespoň jeden nagenerovaný / přijatý znak, zapsaný pomocí "plus", buď prostě za iterovaným znakem, anebo formálněji opět na pozici pravého horního indexu.
Reference
- ↑ itero. [s.l.]: [s.n.] Dostupné online. (anglicky) Page Version ID: 66071438.
Související články
- Cyklus (informatika)
- For cyklus
- Numerická metoda
- Generalizace
- Fraktál
Média použitá na této stránce
This is a demonstration that Exp(i*Pi)=-1 (called Euler's formula, or Euler's identity). It uses the formula (1+z/N)^N --> Exp(z) (as N increases). The Nth power is displayed as a repeated multiplication in the complex plane. As N increases, you can see that the final result (the last point) approaches -1, the actual value of Exp(i*pi).