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

3 次查看(过去 30 天)
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.

采纳的回答

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

更多回答(1 个)

Andrei Bobrov
Andrei Bobrov 2017-11-21
out = Z(sub2ind(size(Z),A,B))

类别

Help CenterFile Exchange 中查找有关 Matrix Indexing 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by