我有一个映射containers.Map(array1, array2)
,我想根据array1中的值进行排序。数组中包含了相当多的数据(每个数组中有大约50,000个元素)。
有没有一种简单的方法来做到这一点,也许使用一些内置的MATLAB特性?
环境是MATLAB 2012。array1
是一个字符数组。
提前感谢!
发布于 2012-10-31 21:54:01
由于container.Map
是一个字典或哈希表实现,所以不能在数据结构本身中定义元素的排序。但是,默认情况下,MATLAB在查询keys
和values
时(根据keys
)对它们进行排序:
keySet = {'Jan', 'Feb', 'Mar', 'Apr'};
valueSet = [327.2, 368.2, 197.6, 178.4];
mapObj = containers.Map(keySet,valueSet);
>> keys(mapObj)
ans =
'Apr' 'Feb' 'Jan' 'Mar'
>> values(mapObj)
ans =
[178.4000] [368.2000] [327.2000] [197.6000]
https://stackoverflow.com/questions/13167549
复制相似问题