Pro numerické řešení parciálních diferenciálních rovnic metodou přímek nebo metodou konečných objemů
potřebujeme znát odhady derivací v jednotlivých uzlech sítě, tzv diferenční náhrady (formule). Na
ekvidistantní síti jsou tyto náhrady notoricky známé. Jak ale budou náhrady vypadat na ne-ekvidistantní síti?
Hodnoty funkce f(x) v bodech x1, x2 a x3 označíme
f1, f2, f3 a proložíme je kvadratickou funkcí
-
.
Pro nalezení koeficientů a, b a c je třeba vyřešit soustavu lineárních rovnic
nebo také
což ve výsledku dává
-
.
Aproximace první derivace funkce f v bodě x potom bude
-
.
Pro analytické řešení inverzní matice a dosazení do předchozí rovnice lze použít Matlab
syms f1 f2 f3 x1 x2 x3 AA = [x1*x1 x1 1; x2*x2 x2 1; x3*x3 x3 1]; abc = simplify(inv(AA)*[f1;f2;f3]) dfdx1 = simplify(2*abc(1)*x1 + abc(2)) % --- nahrada v bode x1 dfdx2 = simplify(2*abc(1)*x2 + abc(2)) % --- nahrada v bode x2 dfdx3 = simplify(2*abc(1)*x3 + abc(2)) % --- nahrada v bode x3 |
Výsledkem jsou překvapivě jednoduché formule
Je snadné se přesvědčit, že v případě ekvidistantní sítě
se výše uvedené formule zjednoduší do známých tvarů
Pro úplnost je možné uvést odhad druhé derivace, který je na celém rozsahu (x1; x3) konstantní
a v případě ekvidistantní sítě
-