Modelování
funkcí
Definice
Je-li dána
nějaká funkce, potom jejím modelem
nazveme funkci,
která se jí v něčem podobá.
Model funkce často používáme jako náhradu
původní funkce.
V dalším textu si ukážeme dva druhy modelů.
Lineární interpolace
- Nechť je dána nějaká funkce (na obrázku zakreslena azurově) a dva její
body pro různá x,
například [x1, y1]
a [x2, y2].
- Potom se jako její model nabízí lineární
funkce y = k * x + q
proložená těmito dvěma body. Takový model se nazývá lineární interpolace
(na obrázku je zakreslen zeleně).
- Skutečnost, že proložená přímka prochází oběma body,
můžeme zapsat takto:
y1 = k * x1
+ q a současně y2 = k * x2
+ q.
- Na tyto dva vztahy se můžeme dívat jako na dvojici
rovnic s proměnnými k a
q a parametry y1,
x1,
y2,
x2.
- Tyto rovnice můžeme řešit:
Nejdříve výpočteme k:
y1
- k * x1 = q
// spočteme z obou rovnic q
y2
- k * x2 = q
y1
- k * x1 = y2
- k * x2
// jelikož se rovnají pravé
strany, rovnají se i levé
k
* x2 - k * x1 = y2
- y1
// přesuneme y1 vpravo a - k * x2 vlevo
k
* (x2 - x1) = y2 - y1 // vytkneme k
k = (y2 - y1 ) /
(x2 - x1) // podělíme (x2 - x1), což můžeme, jelikož je x1 ≠ x2
Potom výpočteme q:
K tomu stačí dosadit známé
hodnoty třeba do y1 =
k * x1 + q.
Příklad
O funkci víme, že prochází body [1,6; 1,4] a [3,2; 4] - oba body jsou vzaty z obrázku
nahoře.
Výpočet k: k = (y2 - y1 )
/ (x2 - x1) = (4 - 1,4) / (3,2
- 1,6) = 2,6 / 1,6 = 1,625
Výpočet q: q = y1 - k * x1
= 1,4 - 1.625 * 1,6 = -1,2
Řešením je tedy funkce s předpisem y = 1,625 * x - 1,2
Interpolace
polynomem
- Nechť je dána nějaká funkce a jejích n bodů pro různá x, například
[x1, y1],
... [xn,
yn].
- Potom jako její model můžeme vzít polynom
proložený těmito body. Tento model se nazývá interpolační polynom.
- Napohled je jeho nalezení složité, ale existuje
chytrá úvaha, která nám pomůže:
- Pro každý ze zadaných bodů [xi, yi]
umíme zapsat polynom pi(x),
který:
- pro x = xi
nabývá hodnoty y = yi,
- pro ostatní x = x1,
... xn nabývá
hodnoty y = 0.
- Je to polynom n-tého
stupně
pi(x)
= yi *
((x - x1)
* ... * (x - zn))
/ ((xi -
x1)
* ... * (xi -
zn))
- Součet polynomů p1(x)
+ ... + pn(x)
dává funkci s potřebnými vlastnostmi.
- Jeho ruční výpočet je zdlouhavý, ale to příliš
nevadí, protože v praxi se používají hotové
matematické programy.
Animace
interpolace polynomem
- Z počátku jsou zadány pouze dva body A, B, postupně
lze stiskem tlačítka "Add point" přidávat další.
- Body lze libovolně posunovat.
- Interpolační polynom je zakreslen modře.
- Tečkovaně je zakreslena jeho 1. derivace.
- Čárkovaně je zakreslena jeho 2. derivace.
Zdroj
|