some thing wrong with SORT function
8 ビュー (過去 30 日間)
古いコメントを表示
When I sort using the sort function,the error happened as the picture showed

1 件のコメント
Stephen23
2021 年 3 月 8 日
"b does not given the correct location"
It gives exactly the location described in the sort documentation, which states "I is the same size as A and describes the arrangement of the elements of A into B along the sorted dimension. For example, if A is a vector, then B = A(I)." Lets try it and see if that is what MATLAB returns:
V = [35,10,16,10,34];
[a,b] = sort(V,'ascend')
c = V(b)
So far you have not given any explanation of what you think the problem is. I will make a wild guess that you want the inverse indices for applying on the LHS, which can be obtained like so:
[~,d] = sort(b)
e = nan(size(d));
e(d) = V
回答 (1 件)
Mehmed Saad
2021 年 3 月 8 日
c = [35 10 16 11 34];
Now after sorting
a = [10 11 16 34 35];
what is the position of first index of a in c. it is 2, for 2nd index of a the position is 4 in c and goes on.
so b is
b = [2 4 3 5 1];
it is giving you positions of elements of a in c.
if you write
c(b)
you will get a
参考
カテゴリ
Help Center および 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!