是否可以在Matlab中将结构转换为地图?

时间:2015-11-30 23:49:44

标签: arrays matlab struct

假设我有一个结构:

myStruct = struct()
myStruct.a = 1;
myStruct.b = 20;
myStruct.c = 4;

是否可以将其转换为键是结构字段的映射?例如,myMap('a')应返回1

1 个答案:

答案 0 :(得分:5)

可以按照以下方式完成:

myMap = containers.Map(fieldnames(myStruct), struct2cell(myStruct));

这使用语法myMap = containers.Map(keys, values),其中

  • keysmyStruct字段名称的单元格数组,由函数fieldnames生成;
  • values是使用struct2cell获得的mystruct值的单元格数组。