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], где 0£k<n, 0£l<m, производится с помощью бикубических многочленов вида

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

Этот метод восполнения реализован в программах 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 являются выходными.