Следуя вашему примеру, давайте возьмем массив размером 100x100 и используем элемент (32,18) в качестве нашей точки интереса.В MATLAB вы можете использовать оператор двоеточия для доступа к подмассивам.
array=rand(100);
x=32;
y=18;
subdim=8;
subx=3;
suby=5;
Давайте построим подмассив из 64 элементов с вашей точкой (3,5).
subarray=array(x-(subx-1):x+(subdim-subx),y-(suby-1):y+(subdim-suby));
Как вытеперь можно видеть subarray(3,5)==array(x,y);
Итак, если вы хотите найти исходные индексы массива для элемента подмассива (6,7):
X=x-subx+6;
Y=y-suby+7;
, что дает
array(X,Y)==subarray(6,7);
Или, если вы просто хотите найти, где элемент (6,7) подмассива находится в исходном массиве, вы можете использовать функцию find.(Осторожно, если у вас есть дубликаты элементов в массиве, он найдет их все.)
[x,y]=find(array==subarray(6,7));