24小时热门版块排行榜    

查看: 164  |  回复: 2
当前主题已经存档。

luckid913

新虫 (初入文坛)

[交流] matlab 排序问题

有一个300×6的矩阵,元素是double型的数据。要按照其中一列从小到大进行排序(注意,每一行都要保持跟着那一列数据的移动同时移动,不能乱),不知道程序应该怎么个编,尽量简单吧,谢谢

» 猜你喜欢

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

caoxiafei

专家顾问 (著名写手)

研发工程师-Topcon/HJT电池

很简单,我明天给你
2楼2009-09-19 15:02:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

caoxiafei

专家顾问 (著名写手)

研发工程师-Topcon/HJT电池

是这样的,(抱歉)

★ ★ ★
luckid913(金币+3,VIP+0): 10-17 14:30
我们学校机房没有安装matlab软件,我就无法编程了,我给你说说我的思路吧!

<1> 定义一个300*6的矩阵 a,并求它的转秩矩阵 aT=b。
<2>取矩阵 a 的每一列,即 b 的每一行,方法:
      [0 1 0 0 0 0]*b=b2(为1*300的行矩阵)
      同理,求得b1,b3,b4,b5,b6;
<3>任选一个行矩阵,例如 b2 ,进行选择排序,注意进行数值交换的时候,把其他行矩阵执行同样的操作。最后的得到按照 b2的顺序排列的b1,b2,b3,b4,b5,b6。并分别把它们转换成列矩阵。得 c1,c2,c3,c4,c5,c6。

<4> 求 d1=c1*[1 0 0 0 0 0]T(转秩)同理,求得 d2 d3 d4 d5 d6。
<5>最后 d1+d2+d3+d4+d5+d6即为所求。

我不知道matlab里面有没有专门的一个函数,是专门求解 这种你这种情形的
3楼2009-09-20 16:13:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 luckid913 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见