I would like to get a different column out of each row from a matrix. For example:
A = [1,2;1,4;5,2]
B = [2;2;1]
the output should yield:
out = [2;4;5]
So in short: A is the matrix and B has the indices for the colums per row. How can I do this without using a loop (if it’s possible)?
You can use sub2ind to convert (i,j) indices to linear indices in matrix A
That works assuming that vector B has as many entries as there are rows in A. In the above sub2ind generates a linear index for every pair of subsequent row numbers (1:size(A, 1)) and column numbers given in B.