24小时热门版块排行榜    

查看: 553  |  回复: 4
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

ldiny

新虫 (小有名气)

[求助] matlab代码求助

请问大神们,matlab 数组 对数组A,降序排列,

[B,IX] = sort(A,'descend')
结果为:
B =

     8
     7
     5
     5
     5
     5
     5
     3
     3
     2

IX =

     7
     2
    10
     8
     6
     5
     4
     9
     3
     1
其中IX是下标值。但是明显看到B中有多个重复的值,即IX只是其中的一个结果,如何得到所有的按照B那样排序的下标值序列IX?
即,降序排列中,有多个相同的值,但是其对应的下标不同,
如在A中,a[1]=3,a[2]=2,a[3]=3。 这样降序排序时,B=[3,3,2],但是其下标IX可能是IX=[1,3,2],也可以是IX=[3,1,2]
怎样得到所有的IX的排列?
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ldiny

新虫 (小有名气)

引用回帖:
2楼: Originally posted by 月只蓝 at 2013-07-19 10:46:49
你选择了降序排列,那么不仅矩阵中的元素会按降序排列,数值相同的元素的指数也会按照降序排列。
Help sort:
When more than one element has the same value, the order of the
elements are preserved in the ...

实际上,我的意思是:
matlab 数组降序排序,如果遇到重复元素,则作全排列,并且记录下每种排列的下标
3楼2013-07-19 10:48:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 5 个回答

月只蓝

主管区长 (职业作家)

【答案】应助回帖

★ ★
感谢参与,应助指数 +1
xiegangmai: 金币+2, 谢谢参与! 2013-07-19 22:00:59
你选择了降序排列,那么不仅矩阵中的元素会按降序排列,数值相同的元素的指数也会按照降序排列。
Help sort:
When more than one element has the same value, the order of the
elements are preserved in the sorted result and the indexes of
equal elements will be ascending in any index matrix.
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
2楼2013-07-19 10:46:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

主管区长 (职业作家)

【答案】应助回帖

★ ★
xiegangmai: 金币+2, 谢谢参与! 2013-07-19 22:01:06
引用回帖:
3楼: Originally posted by ldiny at 2013-07-19 10:48:58
实际上,我的意思是:
matlab 数组降序排序,如果遇到重复元素,则作全排列,并且记录下每种排列的下标...

可不可以按下面的思路来实现呢:
先find出相同的元素的index
然后perms这些index
最后组装成完整的序列
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
4楼2013-07-19 10:55:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ldiny

新虫 (小有名气)

引用回帖:
4楼: Originally posted by 月只蓝 at 2013-07-19 10:55:00
可不可以按下面的思路来实现呢:
先find出相同的元素的index
然后perms这些index
最后组装成完整的序列...

find好像找不出来所有相同元素的index
5楼2013-07-19 10:57:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见