obtain data using columns data indices
1 view (last 30 days)
Show older comments
Farman Shah
on 13 Dec 2018
Commented: Farman Shah
on 13 Dec 2018
i have data A=( 3,5,3,1,4 ) in a column and
B=[ 4 6 9 1 3
2 7 2 5 7
7 3 1 8 2
4 1 6 9 1
2 5 8 3 6]
and i want: as in A first element is 3 and for this i want to get first element of column 3 row 1 from B which is 9. The second element of A is 5 and for this i want to get the the 2nd element of column 5 and row 2 from B which is 7 ,and do the process for all other elements . how to do this? the requried elememts are bold and underlined
any help will be really appriciated.........thanks in advance
2 Comments
Accepted Answer
Walter Roberson
on 13 Dec 2018
B(sub2ind( size(B), 1:length(A), A))
3 Comments
Walter Roberson
on 13 Dec 2018
B(sub2ind( size(B), (1:length(A)).', A(:)))
The above will work regardless of whether A is a row or column vector. However, it will return a column of results either way. If you need a row of results, put .' at the end:
B(sub2ind( size(B), (1:length(A)).', A(:))).'
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!