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

Alc*_*sta 2 arrays matlab struct

假设我有一个结构:

myStruct = struct()
myStruct.a = 1;
myStruct.b = 20;
myStruct.c = 4;
Run Code Online (Sandbox Code Playgroud)

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

Lui*_*ndo 5

它可以如下完成:

myMap = containers.Map(fieldnames(myStruct), struct2cell(myStruct));
Run Code Online (Sandbox Code Playgroud)

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

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