Sort row by descending error

Hi. I have a cell like this.
A=
'Q7' [ 0]
'Q12H' [-3]
'Q12G' [ 0]
I want to sort by descending direction.
But it says that amaxfc=sortrows(amaxfc,2,'descend');
it says that
Error using sortrows
Too many input arguments.

回答 (3 件)

Walter Roberson
Walter Roberson 2017 年 7 月 5 日

2 投票

The 'descend' option was not added until R2013b. Use
amaxfc = sortrows(amaxfc, -2);
Star Strider
Star Strider 2017 年 7 月 5 日

1 投票

Try this:
A = {'Q7' [ 0]
'Q12H' [-3]
'Q12G' [ 0]};
amaxfc=sortrows(A,2,'descend')
amaxfc =
3×2 cell array
'Q7' [ 0]
'Q12G' [ 0]
'Q12H' [-3]

3 件のコメント

Jonas Lins
Jonas Lins 2017 年 10 月 31 日
I had the same problem as the OP, using 2016b. I am pretty sure that it worked earlier (I have been using that code for a while without touching it). Unfortunately your example does not work either. Walter Robertson's legacy work around does, however. Strange.
Vicki Lewis
Vicki Lewis 2017 年 11 月 10 日
same here on 2016b I get this error
[a,b]=sortrows(data,2,'descend')
Error using sortrows
Too many input arguments.
Star Strider
Star Strider 2017 年 11 月 11 日
I no longer have access to R2016b, so I can’t experiment with it.
Do you have a different variable or function called ‘sortrows’?
See what:
which sortrows -all
reveals.

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

Jan
Jan 2017 年 11 月 11 日
編集済み: Jan 2017 年 11 月 11 日

0 投票

According to the documentation of sortrows in R2016b, I see only numerical arrays, CHAR matrices and tables as input, but not cell arrays. But the code works for cells also.
According to the help text and the source code, there are 2 inputs only in R2016b. Therefore the error message is expected and clear.
The 3rd input works only in R2016b, if you apply sortrows to a table object.

カテゴリ

ヘルプ センター および File ExchangeEnvironment and Settings についてさらに検索

製品

タグ

質問済み:

2017 年 7 月 5 日

編集済み:

Jan
2017 年 11 月 11 日

Community Treasure Hunt

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

Start Hunting!

Translated by