Accessing a Matrix through an indices vector
6 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
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?
0 Commenti
Risposta accettata
Walter Roberson
il 15 Feb 2011
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
Oleg Komarov
il 15 Feb 2011
I think in the first case:
A = [3,5,6];
B = rand(10,10,10);
idx = num2cell(A);
B(idx{:})
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Creating, Deleting, and Querying Graphics Objects 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!