Курсовая работа: Рівномірне наближення функцій ермітовими сплайнами
+ (z2 * b1 - z1 * b2) * (g1 * b3 - g3 * b1));
a[3] = (a2 * b1 - a1 * b2 + (g1 * b2 - b1 * g2) * a[2]) / (b1 * z2 - z1* b2);
a[4] = (a1 - z1 * a[3] - g1 * a[2]) / b1;
a[1] = (1 / (x2 - x0)) * (Math::Log(f(x2, p) / f(x0, p)) - a[4] * (x2 * x2 * x2
* x2 - x0 * x0 * x0 * x0) - a[3] * (x2 * x2 * x2 - x0 * x0 * x0)
- a[2] * (x2 * x2 - x0 * x0));
a[0] = f(x0, p) * Math::Exp(-(a[1] * x0 + a[2] * x0 * x0 + a[3] * x0 * x0 * x0+ a[4] * x0 * x0 * x0 * x0));
}
///////////////////////////////////////////////////////////////////////////
void ermit_4(double *a, double x0, double x2, int p) {
double a1, a2, a3, b1, b2, b3, z1, z2, z3, g1, g2, g3;
double x1, h;
x1 = (x0 + x2) / 2;
h = x1 - x0;
a1 = (f(x2, p) - f(x0, p)) / (x2 - x0) - (f(x1, p) - f(x0, p)) / (x1 - x0);
b1 = (x2 + x0) * (x2 * x2 + x0 * x0) - (x1 + x0) * (x1 * x1 + x0