Иллюстрированный самоучитель по MathCAD 12

Многомерная интерполяция

Двумерная сплайн-интерполяция приводит к построению поверхности z (х,у), проходящей через массив точек, описывающий сетку на координатной плоскости (х,у). Поверхность создается участками двумерных кубических сплайнов, являющихся функциями (х,у) и имеющих непрерывные первые и вторые производные по обеим координатам.

Многомерная интерполяция строится с помощью тех же встроенных функций, что и одномерная (см. разд. 13.1.2), но имеет в качестве аргументов не векторы, а соответствующие матрицы. Существует одно важное ограничение, связанное с возможностью интерполяции только квадратных NxN массивов данных:

  • interp(s,x,z,v) – скалярная функция, аппроксимирующая данные выборки двумерного поля по координатам х и у кубическими сплайнами:
    • s – вектор вторых производных, созданный одной из сопутствующих функций cspline, pspline или lspline;
    • х – матрица размерности Nх2, определяющая диагональ сетки значений аргумента (элементы обоих столбцов соответствуют меткам х и у и расположены в порядке возрастания);
    • z – матрица действительных данных размерности NxN;
    • v – вектор из двух элементов, содержащий значения аргументов х и у, для которых вычисляется интерполяция.

Примечание
Вспомогательные функции построения вторых производных имеют те же матричные аргументы, что и interp: lspline (X, Y), pspline (X, Y), cspline (X, Y)
.

Пример исходных данных приведен на рис. 13.12 в виде графика линий уровня, программная реализация двумерной интерполяции показана в листинге 13.6, а ее результат – на рис. 13.13.

Листинг 13.6. Двумерная интерполяция:

Иллюстрированный самоучитель по MathCAD 12 › Интерполяция и регрессия › Многомерная интерполяция

Иллюстрированный самоучитель по MathCAD 12 › Интерполяция и регрессия › Многомерная интерполяция
Рис. 13.12. Исходное двумерное поле данных (продолжение листинга 13.6)

Иллюстрированный самоучитель по MathCAD 12 › Интерполяция и регрессия › Многомерная интерполяция
Рис. 13.13. Результат двумерной интерполяции (продолжение листинга 13.6)

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.