В этом примере показано, как уменьшить размерность массивов плоскости сетки, 3-D решить задачу интерполяции 2-D.
В некоторых областях применения может потребоваться интерполяция нижней размерной плоскости сетки; например, интерполяция плоскости сетки 3-D. При извлечении плоскости сетки из сетки 3-D результирующие массивы могут иметь 3-D формат. Вы можете использовать squeeze функция для уменьшения размерности матриц плоскости сетки для решения задачи в 2-D.
Создайте 3-D таблицу образцов и соответствующие значения.
[X,Y,Z] = ndgrid(1:5); V = X.^2 + Y.^2 +Z;
Выберите образец 2-D из сетки. При этом третий столбец образцов.
x = X(:,3,:); z = Z(:,3,:); v = V(:,3,:);
Плоскость 2-D возникает при Y=3, так что Y размер был зафиксирован. x, z, и v представляют собой массивы 5 на 1 на 5. Перед оценкой интерполятора их необходимо уменьшить до 2-D массивов.
Уменьшить x, z, и v до 2-D массивов с помощью squeeze функция.
x = squeeze(x); z = squeeze(z); v = squeeze(v);
Интерполяция среза 2-D по более тонкой сетке точек запроса.
[Xq,Zq] = ndgrid(1:0.5:5); Vq = interpn(x,z,v,Xq,Zq);
Постройте график результатов.
figure surf(Xq,Zq,Vq); xlabel('Xq'); ylabel('Zq'); zlabel('Vq');
