MATLAB中的特殊排序

时间:2014-02-02 20:23:54

标签: matlab

我有以下矢量:

-69
-65
-70
-73
-81
-63
-73
-68
-71
-78
-81
-78
-72
-79
-78
-72
-79
-74
-79
-89
-87
-67
-83
-87
-73
-76
-85
-89
-87
-87
-120
-120
-120
-120
-120
-120
-120
-120
-120
-120
-120
-120
-120
-120
-120
-120
-120
-120
-120
-120
-120
-120

以下单元格:

'20:10:7a:14:6a:f7'
'44:94:fc:98:f1:bf'
'00:7f:28:d5:92:c0'
'00:1e:58:f4:15:f7'
'00:26:b8:3e:0a:14'
'00:26:62:c5:db:ed'
'00:7f:28:d5:92:65'
'f8:e4:fb:70:86:f4'
'00:26:62:cf:90:37'
'00:7f:28:d5:92:ab'
'44:94:fc:82:bd:e9'
'00:26:62:67:02:92'
'00:7f:28:be:c8:94'
'f8:e4:fb:b9:81:9a'
'00:7f:28:39:00:48'
'f8:e4:fb:8e:d6:9b'
'f8:e4:fb:32:5a:1a'
'44:94:fc:98:f1:c1'
'00:7f:28:d0:7e:49'
'00:7f:28:cc:62:57'
'04:a1:51:24:36:3e'
'88:1f:a1:43:75:38'
'00:7f:28:d6:51:aa'
'00:7f:28:cd:d8:67'
'00:7f:28:cf:df:b0'
'44:94:fc:5d:6d:2c'
'00:26:b8:66:ac:48'
'00:24:d2:92:7f:08'
'00:7f:28:44:23:da'
'00:7f:28:c1:3c:bf'
'f8:e4:fb:70:be:d1'
'00:7f:28:3f:1a:ec'
'f8:e4:fb:b5:0a:9b'
'00:7f:28:cc:8d:99'
'00:26:b8:a0:13:e2'
'00:26:62:70:7f:33'
'f8:e4:fb:94:dd:08'
'00:26:b8:55:46:71'
'00:7f:28:70:a6:51'
'00:7f:28:cd:d5:0a'
'f8:e4:fb:31:32:45'
'c0:c1:c0:e3:85:da'
'00:7f:28:d0:3a:f7'
0
'c0:c1:c0:e3:85:dc'
'44:94:fc:82:d0:28'
'00:26:b8:13:e1:ad'
'2c:76:8a:c1:ab:84'
0
0

向量的每个元素都与单元格的每个元素(标签)相关, 所以cell(1)链接到vector(1) 我正试图找到一种方法来对矢量进行排序,并将相应的单元格(标签)链接起来。 如果我使用sort(vector)它不起作用,因为单元格没有根据它的相应向量进行修改。

我真的很感激任何指南。

谢谢, 奥马

2 个答案:

答案 0 :(得分:1)

Sort有两个返回参数,第二个返回索引。

v = ... % your vector
l = ... % your list
[v,b]=sort(v)
l=l(b);

答案 1 :(得分:1)

[sortedVector, sortIdx] = sort(vector);
sortedCell = cellArray(sortIdx);