6.2. Bосполнение функций двух переменных по методу Х. Акима

Пусть на плоскости XY определена прямоугольная область [a, b´[c, d], а на ней двумерная прямоугольная сетка, заданная декартовым произведением двух одномерных сеток {xk}, k = 0,…, n и {yl}, l = 0,…, m. Bосполнение сеточной функции Z(xk, yl) внутри прямоугольников [xk, xk+1´[yl, yl+1], где £ k < n, 0 £ l < m, производится с помощью бикубических многочленов вида

причем результат такого восполнения будет гладким (т. е. непре­рывны сама функция р3(х, у) и ее первые частные производные) не только внутри прямоугольников сетки, но и в узлах сетки, а также вдоль сторон прямоугольников сетки, т.е. во всей области аппрок­симации. Более подробные сведения о методе можно найти в [18].

Этот метод восполнения реализован в программах ITPLBV и SFCFIT, которые от­ли­ча­ются друг от друга заданием исходных дан­ных и видом получаемых результатов. SFCFIT вы­чис­ляет значения функции на сетке более мелкой, чем исходная, а ITPLBV находит зна­че­ния функции в заданной совокупности точек, принадлежащих области.

Программа ITPLBV(LX,LY,X,Y,Z,N,U,V,W) восполняет функцию двух пе­ре­мен­ных Z(X,Y), заданную на прямоугольной неравномерной сетке, в указанной совокупности то­чек, принадлежащих области. Программа имеет следующие параметры:

LX,LY
число точек сетки по осям X и Y (LX ³ 2,LY ³ 2);
X,Y
массивы координат точек сетки по осям X и Y, располо­женных в воз­рас­та­ю­щем порядке;
Z
двумерный массив значений функции Z(X,Y) в узлах сетки (размером (LX,LY));
N
число точек, в которых восполняется функция Z(X,Y), (N ³1);
U,V
массивы X- и Y-координат точек, в которых восполня­ется функция Z;
W
массив значений функции в точках (U (I), V (I)), I = 1, 2,…, N (длины N).

В программе параметр W является выходным.

Программа SFCFIT(LX,LY,X,Y,Z,MX,MY,NU,NV,U,V,W) восполняет функцию двух переменных Z(X,Y), заданную на прямоугольной нерав­номерной сетке, в узлах новой сет­ки, полученной из исходной делением интервалов между каждой парой соседних точек ис­ход­ной сетки по осям X и Y на равные отрезки. Программа имеет следующие параметры:

LX,LY
число точек исходной сетки по осям X и Y;
X,Y
массивы координат точек исходной сетки по осям X и Y, расположенных в воз­рас­та­ю­щем или убывающем порядке;
Z
двумерный массив значений функции Z(X,Y) в узлах сетки (размером (LX,LY));
MX,MY
число подынтервалов между каждой парой точек исходной сетки по осям X и Y (MX ³ 2,MY ³ 2);
NU
число точек новой сетки по оси X, равное (LX-1) ´ MX+1;
NV
число точек новой сетки по оси Y, равное (LY-1) ´ MY+1;
U,V
массивы X- и Y-координат новой сетки;
W
двумерный массив значений функции в узлах новой сетки (размером (NU,NV)).

В программе параметры U, V, W являются выходными.