フィルターのクリア

How to 'carry' matrix index with matrix operations

2 ビュー (過去 30 日間)
Xiaohan Du
Xiaohan Du 2016 年 11 月 15 日
編集済み: Roger Stafford 2016 年 11 月 15 日
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!

採用された回答

Roger Stafford
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).
  1 件のコメント
Xiaohan Du
Xiaohan Du 2016 年 11 月 15 日
Thanks Roger! I should have checked the function help!

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeShifting and Sorting Matrices についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by