How to 'carry' matrix index with matrix operations
2 ビュー (過去 30 日間)
古いコメントを表示
Hi all,
I'd like to keep the matrix index while carrying out matrix operations, for example:
a = randi([1 20], 1, 5)';
indx = find(a);
c = [indx a];
b = sort(a);
I obtain:
a = [15 10 2 5 19]'; c = [1 2 3 4 5; 15 10 2 5 19]'; b = [2 5 10 15 19]';
After sort, how can I keep the old correspondence of index and vector in new matrix b? i.e. I want b to be something like this:
b = [3 4 2 1 5; 2 5 10 15 19]';
Thanks!
0 件のコメント
採用された回答
Roger Stafford
2016 年 11 月 15 日
編集済み: Roger Stafford
2016 年 11 月 15 日
Use the second quantity returned by the 'sort' function:
[b,p] = sort(a);
The 'p' is an index for rearranging the first row from 1,2,3,4,5 to 3,4,2,1,5 with indx(p).
その他の回答 (0 件)
参考
カテゴリ
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!