如何使用索引将对象或句柄中的“nans”变成“zeros”
How to turn `nans` into `zeros` in objects or handles using indexing
变量trackWorkspace
包含cell
structures
。变量intensityDIV
是trackworkspace
里面的一个向量数组。我想将 intensityDIV
内的任何 nans
变成零。它给我一个错误说: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
创建一个 comma separated list 并为其赋值,您需要在右侧拥有与逗号分隔列表中一样多的元素。您在右侧只有一个值 (0
),这导致了您的错误。
实现此目的的一种方法是使用 deal
为每个元素提供 0
[handles.trackWorkspace(isnan(data)).intensityDiv] = deal(0);
这指定 each intensityDiv
字段作为输出,因为我们只向 deal
提供一个输入,它向 [=25] 提供相同的值=]全部个输出。
变量trackWorkspace
包含cell
structures
。变量intensityDIV
是trackworkspace
里面的一个向量数组。我想将 intensityDIV
内的任何 nans
变成零。它给我一个错误说: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
创建一个 comma separated list 并为其赋值,您需要在右侧拥有与逗号分隔列表中一样多的元素。您在右侧只有一个值 (0
),这导致了您的错误。
实现此目的的一种方法是使用 deal
为每个元素提供 0
[handles.trackWorkspace(isnan(data)).intensityDiv] = deal(0);
这指定 each intensityDiv
字段作为输出,因为我们只向 deal
提供一个输入,它向 [=25] 提供相同的值=]全部个输出。