Matrix Indexig or how to access values of a matrix

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

采纳的回答

Tommy
Tommy 2020-5-5
You could convert to linear indices:
solution = A(sub2ind(size(A),index(:,1),index(:,2)));

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Matrix Indexing 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by