gpt4 book ai didi

matlab - 如何将向量的 NaN 替换为 matlab 中的空单元格

转载 作者:行者123 更新时间:2023-12-01 13:44:23 32 4
gpt4 key购买 nike

我想在 matlab 中用空单元格替换向量的 NaN。任何建议将不胜感激。

最佳答案

在数组中,您不能将值替换为空值 ([])。如果您尝试这样做,这将简单地删除该元素,从而改变大小。这是因为您要用长度 = 0 的值 ([]) 替换长度 = 1 的值。

a = [1, NaN, 2];

%// Replace all NaNs with []
a(isnan(a)) = [];

%// 1 2

这可能就是为什么一开始就有 NaN 的原因。 NaN 是数字数组中的一个很好的占位符。

如果您确实需要空值而不是 NaN 值,则需要将其转换为元胞数组。

a = [1 NaN 2];

%// Convert to cell
acell = num2cell(a);

%// Replace all NaNs with []
acell(isnan(a)) = {[]};

%// [1] [] [2]

我强烈建议您不要这样做,因为元胞数组比数值数组慢得多,而且您正在进行的任何处理都可能很容易适应处理(或忽略)NaN 条目。

关于matlab - 如何将向量的 NaN 替换为 matlab 中的空单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37006721/

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