How can I get the elements from a matrix and use them as the coordinates in another matrix

3 vues (au cours des 30 derniers jours)
I have a matrix
W=[1 3 4 1
1 2 3 1
1 2 4 1]
and I want to get the values of another matrix
C=[0 3 7 8
3 0 1 4
7 1 0 2
8 4 2 0].
That is, I want to take firstly the values of C which exist in (1,3) position, (3,4) position and (4,1) position (the first row of W), i.e. 7,2 and 8 respectively in matrix C and the sum of these values (18). The same indeed for all the rows.

Réponse acceptée

Matt J
Matt J le 10 Fév 2020
Modifié(e) : Matt J le 10 Fév 2020
D = C( sub2ind( size(C), W(:,1:end-1), W(:,2:end) ) ),
sum(D,2)

Plus de réponses (0)

Catégories

En savoir plus sur Resizing and Reshaping Matrices dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by