Удалить цикл for из алгоритма кластеризации в MATLAB

Я пытаюсь улучшить производительность алгоритма кластеризации OPTICS. Реализация, которую я нашел в open source, использует цикл for для каждого образца и может работать часами ...

Я полагаю, что некоторое использование функции repmat () может помочь улучшить ее производительность, когда в системе достаточно оперативной памяти. Вы можете предложить другие способы улучшения реализации.

Вот код:

x - это данные: массив [mxn], где m - размер выборки, а n - размерность объекта, которая в большинстве случаев значительно больше единицы.

[m,n] = size(x);

for i = 1:m
    D(i,:) = sum(((repmat(x(i,:),m,1)-x).^2),2).';
end

большое спасибо.

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

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