#matlab #for-loop #matrix
#matlab #цикл for #матрица
Вопрос:
Предположим, у меня есть 128 x 128
матрица, (скажем, A). У меня также есть 64 x 64
матрица (скажем, B). Матрица B находится в матрице A. Я хочу напечатать «найдено соответствие», когда матрица B найдена в матрице A.
thsd_submatrix — это матрица B, а обновленное основное изображение — это матрица A. Я создаю new_matrix ( 64 x 64
) из 128 x 128
(A) матрицы и хочу сопоставить с «thsd_submatrix«.
new_matrix = zeros(64,64);
for i=1:128
for j=1:128
new_matrix(1:64,1:64)=updated_mainImage(i:i 63,j:j 63);
if(new_matrix==thsd_submatrix)
Комментарии:
1. это может помочь: mathworks.com/matlabcentral/answers / …
2. @AlexS1 я не понимаю, в чем дело.
3. Подход, который вы используете в своем коде, должен работать (хотя он может быть медленным). Просто рассмотрите возможность использования
isequal(new_matrix,thsd_submatrix)
вместо==
. В качестве альтернативы добавьтеall
квалификаторы (if
может сделать это автоматически, я не уверен, но это не очень хороший стиль).