MATLAB: Matrix operations without loop.

lookup tablematrix operation without loopoptimize codeweight calculation by matrix lookup

Hi everyone,
Let say A is the matrix of size 100 x 100 , A is kind of lookup table.
and There is an other matrix B that has the size let say 10 x 100. Where each col is histogram. Now for Query col vector Q size of 10 x 1. I want to get resultant matrix R of size(B), where each cell value in R, is obtained by looking the values of Q and B in A. let say:
R(1,1) = A( Q(1), B(1,1));
R(5,5) = A(Q(5)), B(5,5));
For sure, the values in B and Q are in range of A indexes. I hope you understand the scenario. Thanks a lot in advance.

Best Answer

I think this should work:
R = A(sub2ind(size(A), repmat(Q(:),1,size(B,2), B))