Курсовая работа: Рівномірне наближення функцій ермітовими сплайнами

/////////////////////////////////////////////////////////////////////////////

void ermit_2(double *b, double x0, double x1, int p) {

double h;

h = x1 - x0;

b[3] = 2 * ((fp(x1, p) + fp(x0, p)) / 2 - (f(x1, p) - f(x0, p)) / h) / (h

* h);

b[2] = 0.5 * ((fp(x1, p) - fp(x0, p)) / h - 3* b [3] * (x0 + x1));

b[1] = fp(x1, p) - 2* b [2] * x1 - 3* b [3] * x1 * x1;

b[0] = 0.5 * (f(x1, p) + f(x0, p) - b[3] * (x0 * x0 * x0 + x1 * x1 * x1)

- b[2] * (x0 * x0 + x1 * x1) - b[1] * (x0 + x1));

}

////////////////////////////////////////////////////////////////

void ermit_3(double *a, double x0, double x2, int p) {

double a1, a2, a3, b1, b2, b3, z1, z2, z3, g1, g2, g3;

double x1;

x1 = (x0 + x2) / 2;

a1 = Math::Log(f(x1, p) / f(x0, p)) / (x1 - x0) - Math::Log(f(x2, p) / f(x0, p)) / (x2- x0);

b1 = (x1 + x0) * (x1 * x1 + x0 * x0) - (x2 + x0) * (x2 * x2 + x0 * x0);

z1 = x1 * x1 + x1 * x0 - x2 * x2 - x2 * x0;

g1 = x1 - x2;

a2 = Math::Log(f(x1, p) / f(x0, p)) / (x1 - x0) - fp(x0, p) / f(x0, p);

b2 = x1 * x1 * x1 + x0 * x1 * (x0 + x1) - 3* x0 * x0 * x0;

z2 = x1 * x1 + x0 * x1 - 2* x0 * x0;

g2 = x1 - x0;

a3 = Math::Log(f(x1, p) / f(x0, p)) / (x1 - x0) - fp(x2, p) / f(x2, p);

b3 = (x0 + x1) * (x0 * x0 + x1 * x1) - 4* x2 * x2 * x2;

z3 = x1 * x1 + x0 * x1 + x0 * x0 - 3* x2 * x2;

g3 = x1 + x0 - 2* x2 ;

a[2] = ((a2 * b1 - a1 * b2) * (z3 * b1 - z1 * b3) - (z2 * b1 - z1 * b2)

К-во Просмотров: 460
Бесплатно скачать Курсовая работа: Рівномірне наближення функцій ермітовими сплайнами