小编Kat*_*Kat的帖子

如何填写缺少的NAN?

我想[1 nan 1 2 2 nan nan 3 nan 4 nan nan 5]变成[1 1.5 1 2 2 2 3 3 3.5 4 4 5 5]. 如果只有一个 NAN,我希望用前后数字的平均值填充 NAN。如果有多个 NAN。我希望用最近的数字填充 NAN。

到目前为止,我只有找到单个 NAN 的代码:

max_x = x(:, 2);
min_x = x(:, 3);

for jj = 1:length(max_x)
    for kk = 1:length(min_x)
        if isnan(max_x(jj))
            max_x (jj) = ((max_x(jj-1)+max_x(jj+1))/2);
        elseif isnan (min_x(kk))
            min_x (kk) = ((min_x(kk-1)+min_x(kk+1))/2);
        end
    end
end
Run Code Online (Sandbox Code Playgroud)

我如何填写不是单身的 NAN?

非常感谢。

matlab if-statement nan user-defined-functions conditional-statements

1
推荐指数
1
解决办法
112
查看次数