中易网

关于matlab排序

答案:2  悬赏:0  
解决时间 2021-03-14 04:12
现有一个二维数组,每一行元素为一个整数和一个字符串,如:23 fortest;
11 test2;现我想将数组按照那个整数进行升序排序,如之前两个排序后变为:
11 test2;23 fortest;我用的是matlab,请各位大牛指点,很急!
最佳答案
很简单啊,把整数和字符串设为两列的矩阵,然后先对第一列矩阵(就是整数)进行排序,排序时把排序得到的索引(就是排序后得到的矩阵某元素对应该元素在原矩阵的下标),利用索引就可以把字符串按照索引进行排列,然后就得到你想要的结果了。MATLAB的命令示范如下:
A = [23 11 13] %矩阵A为整数,我加了一行13 iloveyou
B = {'fortest test2 iloveyou'}%由于是字符串矩阵,就用cell类型的
%下面开始排序
[A_sorted index] = sort(A) %升序并得到index
B_sorted = B(index)%B(index)是将B中的元素按index的序列进行排序,%%%%%%%MATLAB%索引矩阵时如果采用A(i)有形式,表示对矩阵按列进行索引。。这个自己体会下,

不知道这样你满意吗?
我还不清楚如何将双精度类型的变量和字符变量装在同一个矩阵中……-_-#
全部回答
function n=bub(p) n=p; if length(size(p))~=2 | min(size(p))>1, disp('参数必须为向量.'); else for i=1:length(p) for j=2:length(p) if n(j-1)>n(j) q=n(j-1); n(j-1)=n(j); n(j)=q; end end end end end 有多余的比较. 可以把 for j=2:length(p) 修改成 for j=2:(length(p)-i+1) 不过既然是bubble排序,就不要太在意效率,越简单越好.
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
鼎丰不锈钢整体橱柜店地址有知道的么?有点事
敲击键盘时主机发出“嘀嘀”声音是怎么回事
崔珉豪参加了哪期我们结婚了?
今年高考275分可以上什么大学
630k打印机打发票少打了一行字,怎么回事
如何在数据库中建立视图? 比如通过一张公司
华磊地产濠景城分行这个地址在什么地方,我要
支付宝当单笔交易超过了设定额度才会接收短信
怎么用画图工具把照片的尺寸变成单寸的
活佛济公第三部全集是75还是 90呢?
作文:小明,我想对你说(校园里的事
明苑小区-东门怎么去啊,有知道地址的么
邯郸万达店庆时间
187是什么电话,是哪里的号码
电脑重装系统后的零打不出来是怎么处理
推荐资讯
大棚吊喷离地应该多高大棚宽8米。吊喷头离地
潍坊窗帘好太太智能晾衣架地址在哪,我要去那
啊华用英文起名字怎么写
Y846/长深高速公路(路口)在什么地方啊,我要
2015珠海斗门发展前景好吗
“晏子使楚”这个词语的意思(四年级下)
您好! 我想请教一下,台式电脑开机黄灯闪无
爱婴室母婴品质生活馆上海浦建路店地址在什么
考初级保育保育证多少钱
吊扇加啥润滑油
石农三巷地址有知道的么?有点事想过去
梦幻西游汴梁城怎么样?人多不?我现在在开封
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?