Click to See Complete Forum and Search --> : Question about an algorithm used by matlab


Metalingus
October 20th, 2006, 08:15 AM
The function Colfilt() in matlab can be used to perform block operations on a matrix. It first transforms all the blocks into columns of another matrix, and then aplies the function on that matrix, which would give the result for each column separately.
Usually using colfilt to perform block operations would be a lot faster (than say blkproc), my question is why?
Does matlab have some special algorithm that enables it to process data in columns faster? (opposed to say in a block) If so, how does it do it?

Thanks in advance,
It is important for a project i'm working on.

yiannakop
November 6th, 2006, 01:43 PM
Generally matlab is faster when the computations are performed columnwise. As you may already know, matlab is slow when for loops are used. If your 2D data are re-arranged in a 1D array, it is natural, that your computation will be performed faster (on this one dimension data sequence).