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일

0 개 추천

You need to use sub2ind:
A{t}(sub2ind(size(A{t}), i, j))

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Matrices and Arrays에 대해 자세히 알아보기

질문:

2016년 7월 14일

답변:

2016년 7월 14일

Community Treasure Hunt

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

Start Hunting!

Translated by