У меня есть карта батиметрии (морское дно), которая представляет собой матрицу долготы х широты и со значениями глубины моря в каждой точке.Я смоделировал транспортировку отложений, поэтому я могу получить доступ к глубине, их широте и долготе.Я хотел бы знать, если кто-то, как проверить, находятся ли отложения на морском дне.Конечно, долгота и широта карты глубины не совпадают с координатами осадков.
Я думаю, что мне нужно интерполировать, но мне не удалось это сделать.
Вот что я сделал:
x=squeeze(lon_rho(1,:));
y=squeeze(lat_rho(:,1));
[xq,yq]=meshgrid(lons(360,:),lats(360,:)); %360 is the time step i chose
vq = griddata(x,y,h,xq,yq); %%creating the surface
for i=1:length(depths(:,1))
for j=1:length(depths(1,:))
if depths(i,j)==vq(find(xq==lons(i,j)),find(yq==lats(i,j)))
lons(i:end,j)=lons(i,j); %if sediments at the bottom they dont move anymore
lats(i:end,j)=lats(i,j);
end
end
end
это изображение показывает мойрабочее пространство lons lats и глубины обозначают долготу, широту и глубину осадков
У меня есть эта ошибка:
Индекс в позиции 1 превышает границы массива (не должен превышать 1000).
Ошибка в test_unterpolation (строка 20), если глубина (i, j) == vq (найти (xq == lons (i, j)), найти (yq == лат (i, j))))