Pokud máte nastaveny iterace, nastavujete také podmínky ukončení.
Jsou to "Minimální změna" a "Kroky"
Pokud výpočet není ukončem podmínkou "Minimální změna", tak po vyčerpání povoleného počtu kroků calc (v obou variantách) vypíše Chyba 523.
A to se také děje. Obecně řešením je zvýšit počet kroků nebo zvětšit hodnotu minimální chyby.
Calc (obě varianty), pokud má nastaven max povolený počet kroků na 1000.
Zkusil jsem soubor přepočítat v excelu. Ten při min. chybě 0,0001 potřeboval přes 3000 kroků
Vaši tabulku tak Calc celkem spolehlivě přepočítá bez chyby při nastavené min. chybě 0,01. Výpočet v tomto případě sice skončí bez chyby, ale není správný. Lze se přesvědčit dalším přepočtem (ctrl-shift-F9). Ovšem, protože nanastala chyba, lze výpočet spustit znovu.
V uvedené tabulce lze také začít výpočet s malým počtem vzorců (několik řádků) a postupě další řádky přidávat (již spočtené řádky mají své počáteční hodnoty a výpočet po přidání přiměřeného počtu vzorců může konvergovat). Je to ale dost pracné a výsledek stejně nemusí být uspokojivý.
Uvažoval jsem o nějaké simulaci v makrech. Nakonec bych doporučil následující:
Nastavit max. povolený počet kroků (1000). Nastavit min chybu na 0,01 (pokud by se při nějakém dalším výpočtu měly opět objevit chyba 523 tak tuto hodnotu vhodně zvýšit. Výpočet spouštět následujícím makrem:
Sub Prepocist()
dim i as integer
for i = 1 to 1000
ThisComponent.calculateAll()
doevents
next
End Sub
Makro si připojte na lištu nebo k nějakému objektu do listu aby se snadno spouštělo.
Makro po každém přepočtu zobrazí výsledek, můžete tak, pokud Vás to bude bavit, sledovat průběh výpočtu. Počet iterací (nastavil jsem 1000) lze samozřejmě měnit.
Do makra se dá snadno doplnit např. zkopírování spočítaných hodnot někam vedle a pak simulovat ukončení pomocí vlastní min. chyby. Makro bude pomalejší, ale výpočet může být spolehlivější.