Sorting and indexing multidimensional arrays
古いコメントを表示
I would like to clarify if indexing is supported for multidimensional arrays.
For example, consider the code below.
According to the help page, the line B2 = A(I) a recover the sorted array.
However, from MATLAB Online R2020b the code snippet produces array full of ones as the result for B2.
A(:,:,1) = 1*ones(3);
A(:,:,2) = 2*ones(3);
A(:,:,3) = 3*ones(3);
A(:,:,4) = 4*ones(3);
[B,I] = sort(A,3,'descend');
B2 = A(I);
採用された回答
その他の回答 (1 件)
Bruno Luong
2020 年 11 月 12 日
編集済み: Bruno Luong
2020 年 11 月 12 日
[B,I] = sort(A,3,'descend');
I is ndarray same size as A and B, values is 1:size(A,3) such that for any i,j
A(i,j,I(i,j,:))
is equal to
B(i,j,:)
(Both are then sorted in descending order)
カテゴリ
ヘルプ センター および File Exchange で Shifting and Sorting Matrices についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!