我有一个结构数组,并希望将所有空属性设置为NaN:
structArray =
29x1 struct array with fields:
value
id
如果它们为空,我如何将所有struct.value属性设置为NaN?
如果它们为空,则转化[structArray.value]
会省略空元素...
答案 0 :(得分:6)
鉴于此:
x(29).id = [];
x(29).value = [];
您可以像这样设置所有.id
字段的值
[x.value] = deal(nan);
要仅设置值的特定子集,请定义要设置的值的掩码,然后在赋值语句中使用它:
maskEmptyId = arrayfun( @(a)isempty(a.id), x );
[x(maskEmptyId).id] = deal(nan);