我正在寻找任何关于向量化(循环)在MATLAB中的好教程。矢量化MATLAB简介 - 任何好的教程?
我有相当简单的算法,但它使用了两个for
循环。我知道,对它进行矢量化应该很简单,我想了解如何去做,而不是要求您提供解决方案。
而是让你知道我有什么问题,这样你就可以认为是展示如何解决类似问题的最好的教程,这里是我的问题的提纲:
B = zeros(size(A)); % //A is a given matrix.
for i=1:size(A,1)
for j=1:size(A,2)
H = ... %// take some surrounding elements of the element at position (i,j) (i.e. using mask 3x3 elements)
B(i,j) = computeSth(H); %// compute something on selected elements and place it in B
end
end
所以,我不要求解决方案。我要求一个很好的教程,在MATLAB中矢量化循环的例子。我想学习如何做,并自己做。
我强烈反对使用blockproc,如果你可以避免它 - 这是非常缓慢的(也,它经历了从2009a到2009b不兼容的变化)。如果你有足够的内存,最好运行'im2col'并一次性应用这个函数。 – Jonas 2010-05-20 01:28:44
@Jonas:很高兴知道。我并没有经常使用BLOCKPROC来解决这些问题。我只是把它列为OP可能想要研究的众多选项之一。 – gnovice 2010-05-20 03:54:41