Let's say I have a matrix A and a vector B. Is it possible to use the values in vector B as indices to select one value from each row in matrix A? Example:
A = [1, 2, 3;
4, 5, 6;
7, 8, 9;]
B = [1;3;1]
C = A(B) or C = A(:,B)
giving:
C = [1; 6; 7]
Of course I could do this with a for loop but with bigger matrices it will take a while. I would also like to use this to make a logical matrix in the following fashion:
A = zeros(3,3)
B = [1;3;1]
A(B) = 1
A = [1, 0, 0;
0, 0, 1;
1, 0, 0]
Thanks for any advice you are able to give me.