use*_*577 2 sorting matlab containers map
我有一个地图containers.Map(array1, array2),我想根据array1中的值进行排序.数组中包含相当大量的数据(每个数据约50,000个元素).
有没有一种简单的方法可以做到这一点,也许使用一些内置的MATLAB功能?
环境是MATLAB 2012. array1是一个字符数组.
提前致谢!
由于a 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]
Run Code Online (Sandbox Code Playgroud)