在Matlab中将映射键,值连接到字符串

时间:2014-02-11 02:26:31

标签: matlab

将地图的键,值添加到字符串

的最佳方式是什么?

例如:

>> keySet =   {'Jan', 'Feb', 'Mar', 'Apr'};
>> valueSet = [327.2, 368.2, 197.6, 178.4];
>> mapObj = containers.Map(keySet,valueSet)

我想将mapObj转换为类似

的字符串
'Jan=327.2, Fab=368.2, Mar=197.6, Apr=178.4'

我尝试使用库foreach link循环,循环键,值,但我认为可能有更好的解决方案。感谢。

1 个答案:

答案 0 :(得分:2)

这应该可以解决问题:

   c = [keys(mapObj); values(mapObj)];   
   outStr = sprintf('%s=%.1f, ', c{:});
   outStr(end-1:end) = []; % remove last comma and space

给出:

outStr =

    Apr=178.4, Feb=368.2, Jan=327.2, Mar=197.6 

如果您希望使用与创建地图时相同的按键顺序,则可以执行以下操作:

   c = [keySet; values(mapObj, keySet)];   
   outStr = sprintf('%s=%.1f, ', c{:});
   outStr(end-1:end) = []; % remove last comma

这给出了:

outStr =

   Jan=327.2, Feb=368.2, Mar=197.6, Apr=178.4
相关问题