MATLAB:查找相应列中的特定索引

时间:2019-11-07 10:58:34

标签: matlab for-loop indexing find

问题如下:

我有一个 k最近 index矩阵。矩阵的列表示图像数(1:n)。 index矩阵的行表示与查询像素对应的 k最近个像素的索引。

因此,我正在使用for循环来查找第a列是否在b列中:例如,3在第一列中(1 -th像素),然后找出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循环。还有其他方法可以加快速度吗?预先感谢!

0 个答案:

没有答案