I have the following code:
 numels = 7;
 numpts = 3;
 C = sparse(numpts,numels)
 A = randi(numels,[numpts,1]);
 B = rand(numpts,1);
I want to treat the matrix A as an index for the columns of matrix C and move the values of B to their respective columns.
So if we have:
 A = [3;3;6];
 B = [0.383;0.892;0.192];
Then we should be able to get:
 full(C) =
 0  0  0.383  0  0  0  0
 0  0  0.892  0  0  0  0
 0  0  0  0  0  0.192  0
I thought that
might work, but C(:,A) attempts refers to a matrix and not a set of values.
BTW, I want a logical operation, I don't want to use accumarray or something. It is important that it is fast.
Any help is appreciated.