Dnes pokračujem v štúdiu numverickej matematiky. Ako som si za tie roky učenia uvedomil, je efektívne si teóriu vyskúšať aj v praxi. A tak som sa trocha pohral s kubickými spline-ami. Pre záujmcov jazykovedy: názov spline pochádza z námorníctva, išlo o nástroj, ktorý aproximoval “najhľadšiu” (s minimálnou krivosťou = curvature) krivku cez dané body.
Síce Čebyševové polynómy aproximujú funkcie najpresnejšie zo všetkých polynómov, tak mimo aproximovaného intervalu prichádza k veľkým odchýlkam nazývanými ako
Runge-ov fenomén. A preto sa pre lepšiu aproximáciu používa iný prístup. Spočíva v tom, že rozdelíme interval na časti a na každej časti aproximujeme polynómom (v našom prípade tretieho stupňa – kubický spline). Navyše, chceme aby výsledná funkcia (zložená z čiastkových funkcií na intervaloch) bola spojitá až do druhej derivácie. Spolu s podmienkami pre funkčné hodnoty máme 4*n podmienok, kde n je počet intervalov na ktoré sme delili. Vhodným integrovaním a riešením sústavy nerovníc (ktorá má práve jedno riešenie) dostávame jednotlivé kubické polynómy.
Spline-i sa používajú hlavne v počítačovej grafike. Sú vhodné kvôli výpočtovej nenáročnosti. A navyše “vyzerajú krajšie” ako Beziérové krivky.
V nasledujúcom sme použili spline-i z wikipédie. Čiernou je vykreslený výsledný prirodzený kubický spline a ostatnými farbami sú znázornené čiastkové polynómy. Aproximovali sme normálne rozdelenie. Na vytvorenie grafu sme použili program GNUplot.
One thought on “Prirodzené kubické spajny (Spline)”