MATLAB: найти ли конкретный индекс в соответствующем столбце - PullRequest
0 голосов
/ 07 ноября 2019

Проблема заключается в следующем:

У меня есть k-ближайшая index матрица. Столбец матрицы обозначает номер изображения (1: n). Строка матрицы index обозначает индекс k-ближайших пикселей, соответствующих пикселю запроса.

Поэтому я использую циклы for, чтобы выяснить, находится ли a -й индекс в столбце b: например, 3 находится в первом столбце (1 -й пиксель),затем выясните, находится ли 1 в 3 -ом столбце, если нет, присвойте значение, если да, присвойте другое значение.

Код здесь:

for pix = 1:row*col
    for i = 1:k
        position = find(Index(:, Index(i,pix)) == pix);
        if isempty(position) difference =  - weight(k, Index(i,pix)) ;
        else difference =  weight(i,pix) - weight(position, Index(i,pix)) ; end
    end
end 

Сrow*col очень большой. Я надеюсь свести код в один цикл for. Есть ли другой способ ускорить? Заранее спасибо!

...