Interpolační třídy pro funkce reálné proměnné s aplikací v hydrologii

Title Alternative:Interpolation classes for functions of real variable with application in hydrology
Loading...
Thumbnail Image
Date
2011
Journal Title
Journal ISSN
Volume Title
Publisher
Technická Univerzita v Liberci
Abstract
V oboru hydrologie se při modelování nenasyceného proudění vody v porézním prostředí opakovaně počítají složité funkce, kde je proměnnou veličinou tlak. Tyto funkce lze aproximovat s určitou chybou a získat tak jejich jednodušší popis. Výhodou aproximací je snazší vyhodnocování funkční hodnoty v bodě, což by mělo výrazně urychlit běh programu. Tato bakalářská práce se zabývá popisem funkcí jedné proměnné, výpočtem jejich funkčních hodnot, derivací a především jejich interpolací. Jsou zde popsány vybrané interpolační metody a zároveň navrženy možné způsoby algoritmizace. Základní myšlenkou je tvorba interpolace pomocí spline funkce. V této práci se rozlišuje spline Lagrangeova typu a spline Hermitova typu. Důležitou součástí je možnost aplikace adaptivního přístupu na tyto metody, tzn. umožnění adaptivní volby uzlů při minimalizaci chyby interpolace. Získané teoretické poznatky se pak implementují v jazyce C++. Mezi hlavní charakteristiky programového řešení patří použití šablon pro funktory k popisu funkce jako takové. Výpočet derivací je prováděn metodou automatické diferenciace. Důraz je kladen na obecnost návrhu a na rychlost především těch částí programu, které obsluhují vytvořenou interpolaci. Navržený systém má sloužit pro tvorbu interpolací hydrologických funkcí s velmi rychlým vyhodnocováním.
Very complicated functions in which the only variable is pressure are repeatedly evaluated during the modeling of the unsaturated flowing of water in the porous material. These functions can be approximated with a specified tolerance. The main advantage of using the approximation is making the evaluation simpler and faster which should speed up the main modeling algorithm. This bachelor thesis is aimed at the description of the functions depending on one variable, computing their values and derivates and especially their interpolations. Selected methods of interpolation are described and the algorithms of these methods are suggested. The main idea is using the interpolations with spline functions. There are two types of spline functions in the thesis -- Lagrange and Hermit spline. The possibility of making these two methods adaptive is very important. Adaption means that one can change the nodes to minimize the error of the interpolation. The theoretical knowledge is then implemented in the C++ language. One of the main code features is the description of functions using the templates on functors. The automatic differentiation algorithm is used to compute the derivates of functions. Emphasis is placed on the complexity of the code and the speed of evaluating the interpolations. The system should be used for creation interpolations of hydrological functions with very fast evaluations.
Description
katedra: NTI; přílohy: 1 CD; rozsah: 52 s.
Subject(s)
interpolace, spline, šablony, c++, interpolation, spline, templates, c++
Citation
ISSN
ISBN