create vector from matrix without loop
Show older comments
Hi there, I have a quick question concerning MATLAB: given A matrix A(mxn) and a Vector B(m,1) I want to create a vector C(m,1) in which each row element is the row element of A from a comlumn indexed by B. So suppose A = [ 1 2; 3 4; 5 6] and B = [2 1 1]' than C should be C = [2 35]. How can I do this using as few computational power as possible (without loops?) ?
cheers Sebastian
Accepted Answer
More Answers (2)
C=A( sub2ind([m,n],1:m,B') )
Sebastian
on 13 May 2013
0 votes
Categories
Find more on Matrix Indexing in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!