![]() |
跨多列对MATLAB单元阵列进行排序
我有以下形式的数据:
'of' 45001 23366 21859591 52876216 0 45001 'on' 40649 23226 17940625 44201973 0 40649 'my' 37976 18338 11277975 47042676 0 37976 'me' 28707 18134 6546887 36222235 0 28707 我想知道如何在MATLAB中对第2列从最大到最小进行排序,但将所有其他行与要排序的行相关联-该行也存储在单元格数组中。 任何帮助,将不胜感激。 [B]回答:[/B] 尽管您正在处理[URL="http://www.mathworks.com/help/matlab/cell-arrays.html"]单元格数组[/URL] ,但实际上答案与在上面的评论中链接到的密切相关问题中的[URL="http://www.mathworks.com/help/matlab/matlab_prog/create-numeric-arrays.html"]数字数组[/URL]列出的答案相同:只需使用函数[URL="http://www.mathworks.com/help/techdoc/ref/sortrows.html"]SORTROWS即可[/URL] 。这是根据第二列中的值(以降序排列)对单元格数组的行进行排序的方法: sortedCellArray = sortrows(cellArray,-2); [B]注意:[/B]应该注意的是, [URL="http://www.mathworks.com/help/techdoc/ref/sortrows.html"]SORTROWS[/URL]的文档似乎并未[I]明确[/I]说明该函数将与单元格数组输入一起使用,但是确实有一个示例说明了该函数对它们的工作原理,就像对其他数组一样。 [url=https://stackoverflow.com/questions/4651751]更多&回答...[/url] |
所有时间均为北京时间。现在的时间是 23:08。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.