我有一个一维数据文件,其中偶尔包含 NaN 值。如果我将 movmean 应用于此输入数据,如果移动窗口内的输入值数量大于阈值,是否有一种简单的方法可以将 movmean 值设置为 NaN?例如,如果窗口长度为 10,阈值为 3,我希望这组 10 个值的 movmean 值为 NaN:
[1 3 NaN 4 NaN 2 5 NaN NaN 3]
但是给我这组 10 个值的有效 movmean 值:
[1 3 2 4 NaN NaN 3 2 5 3]
最佳答案
这是一个 matlab 问题,您可以执行以下操作:
w = 10; t = 3;
A = [1 3 NaN 4 NaN 2 5 NaN NaN 3];
M = movmean(A,w,'omitnan');
N = movsum(isnan(A),w) >= t;
M(N) = NaN;
关于matlab - 如果窗口中缺少大量原始数据点,则将 movmean 值设置为 NaN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71280489/