Azzera filtri
Azzera filtri

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 visualizzazioni (ultimi 30 giorni)
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.

Risposta accettata

Stefano Francavilla
Stefano Francavilla il 21 Nov 2017
Modificato: Stefano Francavilla il 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))

Più risposte (1)

Andrei Bobrov
Andrei Bobrov il 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!

Translated by