how get it?

2 vues (au cours des 30 derniers jours)
Luca Re
Luca Re le 7 Oct 2023
a=magic(5)
a = 5×5
17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9
b=[1 3 2 4 5]
b = 1×5
1 3 2 4 5
i want to get:
in 1 column i want to 1 element
in 2 column i want to 3 element
in 3 column i want to 2 element
in 4 column i want to 4 element
in 5 column i want to 5 element
ans:
17 6 7 21 9

Réponse acceptée

Walter Roberson
Walter Roberson le 8 Oct 2023
a=magic(5)
a = 5×5
17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9
b=[1 3 2 4 5]
b = 1×5
1 3 2 4 5
v = a(sub2ind(size(a), b, 1:size(a,2)))
v = 1×5
17 6 7 21 9

Plus de réponses (1)

Torsten
Torsten le 7 Oct 2023
Modifié(e) : Torsten le 7 Oct 2023
a = magic(5)
a = 5×5
17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9
b = [1 3 2 4 5]
b = 1×5
1 3 2 4 5
v = arrayfun(@(i)a(b(i),i),1:size(a,2))
v = 1×5
17 6 7 21 9

Catégories

En savoir plus sur MATLAB Compiler dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by