필자는 문서에서 제공되는 간단한 예제로 인해 matlab에 대한 생각의 벡터화 방법을 얻지 못한다. 누군가가 나를 좀 더 잘 이해할 수 있기를 바랍니다.벡터화 코드
그래서, 내가 달성하고자하는 것은 ncols x 행렬에서 NxN 샘플을 취하여 x ielements를 제외하고 각 ielement에 대한 평균을 계산하고 평균의 최대 값을 저장하는 것입니다. 루프를 사용하여 코드는 다음과 같습니다
이for x = 1+margin : nrows-margin
for y = 1+margin : ncols-margin
for i=1:ielem
% take a NxN sample
sample = input_matrix(y-margin:y+margin,x-margin:x+margin,i)
% compute the average of all elements
result(i) = mean2(sample);
end %for i
% store the max of the computed averages
output_matrix(y,x)=max(result);
end %for y
end %for x
사람은 상황이 예제의 좋은 벡터화 할 수 있습니까? T
아마도'conv2' 또는'filter2' 함수를보아야합니다. –
그래도 conv2 나 filter2와 같은 함수를 사용하여 이러한 유형의 코드를 withouth로 벡터화하고 더 많은 행렬 인덱싱을 사용하는 다른 방법이 있습니까? – VisLab