Matlab для петлевой векторизации - PullRequest
1 голос
/ 28 апреля 2011

Мне было интересно, может ли кто-нибудь помочь мне векторизовать эти циклы, которые я пробовал несколько раз, но заранее не смог поблагодарить.

pixel_depth = 16; 
pixel_range = 2^pixel_depth -1;

for i=1:height

    for j=1:width

        for k=1:gaussianComponents

           mean(i,j,k) = rand*pixel_range; 

           weights(i,j,k) = 1/gaussianComponents; 

           pixelDeviation(i,j,k) = diviationNew; 

       end

    end

 end

Спасибо за любую помощь ....

1 Ответ

5 голосов
/ 28 апреля 2011
mean = rand(height, width, gaussianComponents) * pixel_range;

weights = 1/gaussianComponents * ones(height, width, gaussianComponents);

pixelDeviation = diviationNew * ones(height, width, gaussianComponents);

Обратите внимание, что mean является недопустимым именем для переменной, так как оно скрывает функцию mean.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...