如何使用索引将对象或句柄中的' nan '转换为' zero '



变量trackWorkspace包含cell structures。变量intensityDIVtrackworkspace内部的矢量数组。我想把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提供一个输入,它为所有输出提供相同的值。

最新更新