Векторизация вложенная для циклов в matlab - PullRequest
0 голосов
/ 11 декабря 2011

Как мы векторизовали этот код в matlab?

for i = 1:N
for k = 1:64
    if (pixels(i,k)==1)
     p(character(i),k)= p(character(i),k)+1;
    end
end    
end

1 Ответ

1 голос
/ 11 декабря 2011

Следующее должно быть эквивалентно:

[i,j] = find(pixels(i,k) == 1);
if ~isempty(i)
    ind = sub2ind(size(p), character(i), j);
    %   or, equivalently:
    % ind = character(i) + (j-1) * size(p,1);
    p(ind) = p(ind) + 1;
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...