Zápočtový příklad z optimalizace

V souboru zapocet.dat je tabulka měření z jistého fyzikálního experimentu (v knize, odkud jsem příklad vzal bohužel nebylo uvedeno jakého). V levém sloupci je časová osa (t), v pravém výsledek měření (y(t)). Vaším cílem bude proložit data vhodnou funkcí, která je lineární kombinací funkcí proměnné t, a to pomocí metody nejmenších čtverců s L_{2} (Euklidovskou)normou.

Abyste se nemuseli neúměrně zabývat technickou stránkou věci, připravil jsem soubor zapocet.ms, který obsahuje prvních několik kroků řešení. Načtěte tento soubor do Maplu a postupně odklepávejte příkazy, které v něm jsou. Provedou se následující věci:

• Načtou se data ze souboru zapocet.dat.

• Daty se proloží přímka a zobrazí se spolu z naměřenými body.

• Zobrazí se residua, tj. rozdíly mezi proloženou přímkou a daty.

Poté, co dojdete na konec zapocet.ms, měli byste z dat odstranit bod, který evidentně vybočuje z celkového trendu (a dá se proto očekávat, že vznikl vinou chyby měření). Ze zobrazení residuí snadno poznáte, který bod to je. Vymazání řádku tabulky se dá elegantně zařídit pomocí funkce delrows, jak je to ukázáno na konci souboru zapocet.ms. Vše, co zbývá, je zopakovat postup, který vedl k proložení dat přímkou, pro nějakou složitější křivku. Měla by to být křivka typu

Af_{A}(t) + Bf_{B}(t) + Cf_{C}(t),

kde A, B, C jsou neznámé parametry. Jakého typu asi mají být funkce f_{A}, f_{B}, f_{C} je opět možné poznat z obrázku, na kterém jsou residua.

Výsledkem celého snažení by měly být dvě věci:

• Obrázek, na němž budou data (bez vyloučeného bodu) zobrazena spolu s proloženou křivkou (obrázky Maplu se dají převést do PostScriptu: viz File/Print).

• .ms soubor, ve kterém bude záznam Vaší práce (a který tedy bude obsahovat i formuli proložené křivky).

Přeji hodně štěstí při řešení. Budu Vám samozřejmě k dispozici pro dílčí konzultace.

Petr Mejzlík