Интерполяция между компонентами матрицы в MATLAB - PullRequest
1 голос
/ 17 февраля 2012

В проекте, который я делаю, мне нужно достичь плавающих индексированных элементов матрицы.То есть, например, я хочу достичь (16,25,1) -го элемента матрицы.Это может показаться странным на первый взгляд.Однако под (16.25,1) я подразумеваю интерполяцию между (16,1) и (17,1) с весами 0,25 и 0,75 соответственно.

Есть ли для этого встроенная функция?

Большое спасибо, Сафак

Ответы [ 2 ]

2 голосов
/ 17 февраля 2012

Вы можете использовать interp2:

Z = randi(10,10); % 10 x 10 random matrix with integers from 1 to 10
Z(1:2,1:2)
%ans =
%   2   4
%   7   6

% use interp2 to interpolate at row 1.5, col 2
z = interp2(Z,1.5,2)
% z = 6.5000
1 голос
/ 17 февраля 2012

Вы можете использовать 2-D интерполяцию:

ZI = interp2(Z,XI,YI) assumes that X = 1:n and Y = 1:m, where [m,n] = size(Z)

где Z - ваша матрица, а XI & YI - ваши дробные индексы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...