同时为多个结构字段分配值

fog*_*rit 6 matlab

我有一个遵循以下模式的matlab结构:

S.field1.data1
          ...
 .field1.dataN
   ...
 .fieldM.data1
          ...
 .fieldM.dataN
Run Code Online (Sandbox Code Playgroud)

我想data3同时从所有字段为一个数据字段(例如)分配值.这在语义上类似于:

S.*.data3 = value
Run Code Online (Sandbox Code Playgroud)

通配符"*"表示(field1,...,fieldM)结构中的所有字段.这是否可以在没有matlab循环的情况下完成?

gro*_*ndi 0

在简单的情况下,您可以通过使用将结构转换为元胞数组来实现struct2cell()。由于您有嵌套结构,我认为这在这里不起作用。

另一方面,您的数据结构是否有任何原因?您的描述给人的印象是简单的 MxN 数组或单元数组更合适。