Hi. I have a two-dimensional array Z of size 10x15, and two vectors, A = [1 2 4] and B = [3 2 1]. Using A and B, I want to access the following elements in Z: Z(1,3), Z(2,2), Z(4,1) only

1 view (last 30 days)
Hi. I have a two-dimensional array Z of size 10x15, and two vectors, A = [1 2 4] and B = [3 2 1]. Using A and B, I want to access the following elements in Z: Z(1,3), Z(2,2), Z(4,1) only. I tried using Z(A,B) but this will give me all combinations of elements (i.e. Z(1,3), Z(1,2), Z(1,1), Z(2,3), ...). Any idea how to do this.

Accepted Answer

Stefano Francavilla
Stefano Francavilla on 21 Nov 2017
Edited: Stefano Francavilla on 21 Nov 2017
I think you get a submatrix where the elements you are looking for are in the main diagonal: use diag(Z(A,B))

More Answers (1)

Andrei Bobrov
Andrei Bobrov on 21 Nov 2017
out = Z(sub2ind(size(Z),A,B))

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!