变量trackWorkspace
包含cell
structures
。变量intensityDIV
是trackworkspace
内部的矢量数组。我想把intensityDIV
里面的nans
都变成0。它给我一个错误说: Insufficient outputs from right hand side to satisfy comma separated list expansion on left hand side. Missing [] are the most likely cause
。
data = [handles.trackWorkspace.intensityDIV];
if any(isnan(data))
handles.trackWorkspace(isnan(data)).intensityDIV = 0;
end
handles.trackWorkspace(isnan(data)).intensityDIV
创建了一个逗号分隔的列表,为了给它赋值,您需要在右侧拥有与逗号分隔列表中相同数量的元素。你只有一个单独的值(0
)在右边,这导致了你的错误。
实现此目的的一种方法是使用deal
为每个
0
。[handles.trackWorkspace(isnan(data)).intensityDiv] = deal(0);
指定每个 intensityDiv
字段作为输出,因为我们只向deal
提供一个输入,它为所有输出提供相同的值。