我现在在使用 Matlab 时遇到了一些问题。我目前正在尝试从我拥有 3806 x 122 的大型单元阵列中删除所有 NaN。我一直在寻找类似问题的解决方案,并且我想出了。
data(cellfun(@(x) any(isnan(x(:))), data)) = [];
我的矩阵有点奇怪,因为它看起来像这样
(ex).
1 2 3 4 5 5 NaN
6 5 2 5 6 7 NaN
2 3 4 5 6 7 NaN
NaN NaN NaN NaN NaN NaN NaN
我的问题是,当我将上面的代码行应用到我的数组时,我得到了一个没有 NaN 的输出。
1 2 3 4 5 5 6 5 2 5 6 7 2 3 4 5 6 7 etc...
我不明白它为什么这样做。我还必须小心删除列,因为每一列都有相应的标题,我不想混淆它们。如果我能以某种方式索引哪些列和行具有 NaN,那将很有帮助,这样我就可以删除与它们对应的标题。
最后,我想将标题和数据放入一个如下所示的数据集结构中。
(ex).
'title1' 'title2' 'title3' 'title4' 'title5' 'title6'
1 2 3 4 5 5
6 5 2 5 6 7
2 3 4 5 6 7
任何帮助是极大的赞赏。
问候,乔纳森