matlab - 同时为多个结构字段赋值

标签 matlab

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

S.field1.data1
          ...
 .field1.dataN
   ...
 .fieldM.data1
          ...
 .fieldM.dataN

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

S.*.data3 = value

其中通配符“*”代表结构中的所有字段(field1,...,fieldM)。这是否可以在 matlab 中不使用循环来完成?

最佳答案

既然 field1 .. fieldM 是具有相同字段的结构数组,为什么不为“字段”创建一个结构数组呢?然后,您可以使用交易轻松地将所有“数据”成员设置为特定值。

field(1).data1 = 1;
field(1).data2 = 2;
field(2).data1 = 3;
field(2).data2 = 4;

[field.data1] = deal(5);
disp([field.data1]);

关于matlab - 同时为多个结构字段赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7908809/

相关文章:

matlab - 在Matlab中从声音文件读取数据

user-interface - 用于 gui 的 MATLAB 日期选择弹出式日历

arrays - 从 MATLAB 中的元胞数组中删除元素

python - 如何有效地处理类似于 Matlab 的 blkproc (blockproc) 函数的 block 中的 numpy 数组

用 C 创建矩阵微分方程

matlab - 没有维度名称的可写表

Matlab - 如何创建具有幂序列的向量

matlab - 如何在 Matlab 中选择子矩阵(不以任何特定模式)

java - 尝试使用 javabuilder 时 Matlab + Java : java. lang.ExceptionInInitializerError

MATLAB:是否可以在 native 构造(单元、结构等)上重载运算符?