Accessing a Matrix through an indices vector

I have a linear vector of dimensional indices (A) and would like to access a single element from matrix M using this vector.
e.g.
A = [3,5,6];
FUNC(m,A); // equivalent to m(3,5,6);
Is there a method in MATLAB that replaces FUNC that allows this?

 Risposta accettata

EDIT: fixed per Oleg's catch of my mistake:
t = num2cell(A);
m(t{:})
Or if you prefer one-line answers better:
subsref(m, struct('type', repmat({'()'},1,length(A)), ...
'value', num2cell(A)))

2 Commenti

I think in the first case:
A = [3,5,6];
B = rand(10,10,10);
idx = num2cell(A);
B(idx{:})
Yes, Oleg's version works well. Thank you both!

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Mathematics and Optimization in Centro assistenza e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by