2

我有一张地图containers.Map(array1, array2),我想根据array1 中的值进行排序。数组中包含相当大量的数据(每个数组约 50,000 个元素)。

有没有一种简单的方法可以做到这一点,也许使用一些内置的 MATLAB 功能?

环境是MATLAB 2012。array1是一个字符数组。

提前致谢!

4

1 回答 1

5

由于 acontainer.Map是字典或哈希表实现,因此您无法在数据结构本身中定义元素的某些顺序。但是,默认情况下,当您查询它们时,MATLAB 会排序keysvalues(根据):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]
于 2012-10-31T21:54:01.647 回答