gpt4 book ai didi

matlab - 在 MATLAB 中用元胞数组中的零替换 NaN

转载 作者:太空宇宙 更新时间:2023-11-03 20:25:03 30 4
gpt4 key购买 nike

我在变量 raw_data 中有一个 50x25 元胞数组。每个单元格包含一个 200x150 矩阵。我有一些 NaN 值分散在所有这些值之间,我想将它们设置为 zeros 以确保它们不会在以后的阶段产生干扰。

我尝试了以下方法:

raw_data(cellfun(@(x) any(isnan(x), raw_data, 'UniformOutput', false)) = 0

运行脚本时,我得到“函数‘subindex’没有为类‘cell’的值定义”。有谁能帮帮我吗?

提前致谢!

最佳答案

这个怎么样:

cellfun(@(x) nansum(x,ndims(x)+1), raw_data, 'UniformOutput', false)

请注意,如果您确定 raw_data 中只有二维矩阵,您可以将 ndims(x)+1 替换为 3 >.

想法是使用 nansum 沿第 3 个维度求和,因为这将保留前 2 个维度的形状,幸运的是 nansum 似乎转换 NaN 0 当所有被求和的元素都是 NaN

关于matlab - 在 MATLAB 中用元胞数组中的零替换 NaN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27960566/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com