Is there any one who can help for the following matrix problem

2 ビュー (過去 30 日間)
Keyre
Keyre 2018 年 3 月 2 日
編集済み: Fangjun Jiang 2018 年 3 月 2 日
I have 3X6 matrix:
M=[15 18 14 19 17 14;
30 3 8 14 1 5;
7 16 13 11 20 2] ;
It is required to sort them using only one of the smallest value in the column (i.e. the column which contain the smallest value should be first column in the matrix without change the order of original column). The sorted output should be displayed as:
M=[17 14 18 19 15 14;
1 5 3 4 30 8;
20 2 16 11 7 13];
Since the value 1 is the smallest value in column 5 at the original matrix, it comes in the first column for sorted output matrix.
  4 件のコメント
Jan
Jan 2018 年 3 月 2 日
@Keyre: It matters for the kind of answering, if this is a homework or not. Please be so kind and clarify this.
Fangjun Jiang
Fangjun Jiang 2018 年 3 月 2 日
編集済み: Fangjun Jiang 2018 年 3 月 2 日
My guess is that it is unlikely to be a homework assignment. If it is, I hope my solution won't get credit. It only takes two lines of code using built-in MATLAB functions.

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

採用された回答

Fangjun Jiang
Fangjun Jiang 2018 年 3 月 2 日
I think this is the way to do it. Your expected output has typo in it.
M=[15 18 14 19 17 14;
30 3 8 14 1 5;
7 16 13 11 20 2] ;
MinM=min(M);
[~,Index]=sort(MinM);
NewM=M(:,Index)
NewM =
17 14 18 15 14 19
1 5 3 30 8 14
20 2 16 7 13 11

その他の回答 (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