替换结构中的多个值

时间:2017-05-03 13:43:17

标签: matlab structure

我有一个sample是数字向量的结构。我想将sample中的数字替换为sample/2。但是,我不知道如何克服以下错误:

  

此作业所需的标量结构。

任何建议都非常受欢迎。

示例:

field1 = 'event';
value1 = {'A', 'B', 'C', 'D'};
field2 = 'sample';
value2 = 22;

A = struct(field1, value1, field2, value2);

我想做什么:

A.sample = round([A.sample]/2,0);

1 个答案:

答案 0 :(得分:0)

您应该使用deal函数将计算出的矩阵分布到结构元素中:

sampleCell = num2cell(round([A.sample]/2,0)); % first convert result to cell, to comply with the `deal` syntax
[A.sample] = deal(sampleCell{:});