Сим = квадратная форма (pdist (A))

отаю над сравнением нескольких изображений. У меня есть эти данные изображения как векторы столбцов матрицы, называемой «изображения». Я хочу оценить сходство изображений, сначала вычислив их евклидово расстояние. Затем я хочу создать матрицу, по которой я могу выполнить несколько случайных прогулок. Прямо сейчас мой код выглядит следующим образом:

% clear
% clc
% close all
% 
% load tea.mat;

images = Input.X;

M = zeros(size(images, 2), size (images, 2));

for i = 1:size(images, 2)
    for j = 1:size(images, 2)
        normImageTemp = sqrt((sum((images(:, i) - images(:, j))./256).^2));

        %Need to accurately select the value of gamma_i
        gamma_i = 1/10;

        M(i, j) = exp(-gamma_i.*normImageTemp);
    end 
end

Однако моя матрица M в конечном итоге имеет значение 1 вдоль ее главной диагонали и нули в других местах. Я ожидаю "большие" значения для первых нескольких элементов каждой строки и "маленькие" значения для элементов с индексом столбца> 4. Может кто-нибудь объяснить, что не так? Любой совет приветствуется.

Ответы на вопрос(4)

Ваш ответ на вопрос