假设我有一个要分配给嵌套字段的单元格数组。
myArray = {{ 1 2 3 4 5};
{ 7 8 9 10 11 12 13}}
我希望最终结果像这样:
myStruct(1).field = { 1 2 3 4 5}
myStruct(2).field = { 7 8 9 10 11 12 13}
[实际上不必像上面的示例一样访问每个单独的字段。另外,我想避免使用for循环。
最后,我们如何执行逆运算(再次不访问单个字段或使用for循环):从myArray
结构中提取myStruct
?
为此,有两个非常具体的MATLAB函数:cell2struct
和cell2struct
。
对于第一次转换,您只需注意通过选择正确的struct2cell
参数来使用正确的轴。您在这里有一个struct2cell
单元格数组,所以它是dim
。
对于第二次转换,您可以直接使用2 x 1
。
这是完整的代码:
dim = 2
然后输出看起来像这样(缩短):
struct2cell
希望有帮助!