Accessing array elements, vector wise

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

采纳的回答

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

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Matrices and Arrays 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by