Accessing array elements, vector wise

2 visualizzazioni (ultimi 30 giorni)
Bismark Singh
Bismark Singh il 14 Lug 2016
Risposto: Guillaume il 14 Lug 2016
I have an array A whose elements I access in Matlab as A{t}(i,j), where i,t,j are scalars. I instead want to access all the elements at once by having i and j to be vectors of the same length. So I want to do A{t}(i,j) where i,j are vectors of length say n. If I do this, Matlab gives me the result as a matrix of size nxn, since it takes the cartesian product of the inputs. How can I instead get the result a vector of size n: A{t}(first of i, first of j), A{t}(second of i, second of j) etc. without a for loop?

Risposta accettata

Guillaume
Guillaume il 14 Lug 2016
You need to use sub2ind:
A{t}(sub2ind(size(A{t}), i, j))

Più risposte (0)

Categorie

Scopri di più su Matrices and Arrays in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by