Matrix Indexig or how to access values of a matrix

2 vues (au cours des 30 derniers jours)
Philipp ter Schiphorst
Philipp ter Schiphorst le 5 Mai 2020
Hallo dear forum,
I just don't find a problem for my actually simple problem.
I have the following matrix:
A = magic(4)
I now want the values ​​of the matrix in position:
value1 = A(1,1)
value2 = A(2,2)
value3 = A(3,1)
My actual matrix indexes are in a vector in this form:
index = [1 1;2 2;3 1];
My solution (that is obviously wrong) would be:
solution = A(index)
Is there an easy way without using loops?
Thank you so much!

Réponse acceptée

Tommy
Tommy le 5 Mai 2020
You could convert to linear indices:
solution = A(sub2ind(size(A),index(:,1),index(:,2)));
  1 commentaire
Philipp ter Schiphorst
Philipp ter Schiphorst le 6 Mai 2020
Thank you very much, that was exactly what I was looking for

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Matrix Indexing dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by