# Replacing values in array with values from another array

1 vue (au cours des 30 derniers jours)
L'O.G. le 17 Juil 2022
Commenté : Star Strider le 17 Juil 2022
The values in each row of an array correspond to the values i, j of an upper triangular array. How do I return a vector with elements that are the corresponding i, j value in the array? For example:
test_array = [1 2; 2 3; 1 3];
test_upper_triangular_array = [0.5 0.25 0.7; 0 0.8 0.6; 0 0 1.1];
desired_vector = [0.25 0.6 0.7]
##### 0 commentairesAfficher -1 commentaires plus anciensMasquer -1 commentaires plus anciens

Connectez-vous pour commenter.

### Réponse acceptée

Star Strider le 17 Juil 2022
Modifié(e) : Star Strider le 17 Juil 2022
Try this —
test_array = [1 2; 2 3; 1 3];
test_upper_triangular_array = [0.5 0.25 0.7; 0 0.8 0.6; 0 0 1.1]
test_upper_triangular_array = 3×3
0.5000 0.2500 0.7000 0 0.8000 0.6000 0 0 1.1000
lidx = sub2ind(size(test_upper_triangular_array), test_array(:,1), test_array(:,2)) % Convert Subscripts To Linear Indices
lidx = 3×1
4 8 7
result = test_upper_triangular_array(lidx)
result = 3×1
0.2500 0.6000 0.7000
% desired_vector = [0.25 0.6 0.7]
EDIT —
Transpose to get row vector:
result_row = result.'
result_row = 1×3
0.2500 0.6000 0.7000
.
##### 3 commentairesAfficher 2 commentaires plus anciensMasquer 2 commentaires plus anciens
Star Strider le 17 Juil 2022
As always, my pleasure!

Connectez-vous pour commenter.

### Catégories

En savoir plus sur Programming Utilities dans Help Center et File Exchange

R2021b

### Community Treasure Hunt

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

Start Hunting!

Translated by