problem using sortcols()

7 ビュー (過去 30 日間)
mehdi J
mehdi J 2018 年 11 月 19 日
回答済み: Jeremy Huard 2023 年 1 月 31 日
Hi everybody, I have a matrix and I want to sort the colums based on the value of a rows. for example consider A:
A =
24 35 46 23 20 31 30 38 37
10 25 15 10 15 15 5 10 5
I want to extract the matrix B as follow:
B =
30 37 24 23 38 46 20 31 35
5 5 10 10 10 15 15 15 25
I've tried to do it with 'sortcols' order but I've faced with this error "Undefined function or variable 'sortcols'".
How could I fix it?
  1 件のコメント
Stephen23
Stephen23 2018 年 11 月 19 日
編集済み: Stephen23 2018 年 11 月 19 日
sortcols is in the Bioinformatics Toolbox. Do you have the Bioinformatics Toolbox installed and a valid license for it? Do you have a DataMatrix object (exactly as the sortcols help states that it requires)?
Your example seems to show a double matrix. Why are you trying to use sortrows on a double matrix? Did you read its help?

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

採用された回答

Walter Roberson
Walter Roberson 2018 年 11 月 19 日
A = [ 24 35 46 23 20 31 30 38 37
10 25 15 10 15 15 5 10 5];
import bioma.data.*
DM_A = DataMatrix(A);
B = sortcols(DM_A)
  2 件のコメント
mehdi J
mehdi J 2018 年 11 月 19 日
what is "bioma.data.*"?
Walter Roberson
Walter Roberson 2018 年 11 月 19 日
The dodocumentation says:
"The DataMatrix constructor function is part of the microarray object package. To make it available, type the following in the MATLAB® command line:
import bioma.data.*
Otherwise, use bioma.data.DataMatrix instead of DataMatrix, in the following syntaxes."
I would suggest that if you are not doing work with the bioinformatics Toolbox that you should not be using sortcols.

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

その他の回答 (1 件)

Jeremy Huard
Jeremy Huard 2023 年 1 月 31 日
Even though there is no sortcols function for double matrices, you could transpose A and use the sortrows function before transposing back:
A = [24 35 46 23 20 31 30 38 37;
10 25 15 10 15 15 5 10 5]
A = 2×9
24 35 46 23 20 31 30 38 37 10 25 15 10 15 15 5 10 5
B = sortrows(A',2)'
B = 2×9
30 37 24 23 38 46 20 31 35 5 5 10 10 10 15 15 15 25

カテゴリ

Help Center および File ExchangeMATLAB についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by