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