Replacing values in array with values from another array
1 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Star Strider
2022-7-17
编辑:Star Strider
2022-7-17
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]
lidx = sub2ind(size(test_upper_triangular_array), test_array(:,1), test_array(:,2)) % Convert Subscripts To Linear Indices
result = test_upper_triangular_array(lidx)
% desired_vector = [0.25 0.6 0.7]
EDIT —
Transpose to get row vector:
result_row = result.'
.
3 个评论
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!