Функция Interp2
вообще не требует равномерно распределенной измерительной сетки, она требует только монотонной единицы. То есть позиции выборки, хранящиеся в векторах depths
и times
, должны увеличиваться (или уменьшаться), и все.
Предполагая, что это действительно ситуация * и что вы хотите интерполировать в обычные позиции **, сохраненные в векторах rdepths
и rtimes
, вы можете сделать:
[JT, JD] = meshgrid(times, depths); %% The irregular measurement grid
[RT, RD] = meshgrid(rtimes, rdepths); %% The regular interpolation grid
TemperaturesOnRegularGrid = interp2(JT, JD, TemperaturesOnIrregularGrid, RT, RD);
* : Если нет, вы можете отсортировать строки и столбцы, чтобы вернуться к монотонной сетке.
**: Фактически Interp2
не имеет ограничений для выходной сетки (она может быть нерегулярной или даже немонотонной).