协方差矩阵中的 Nan



我有以下协方差矩阵

a       b       c       d
a   0.0161  0.0009  0.0008  0.0000001
b   0.0009  0.0163     NaN     0.0006
c   0.0008     NaN   0.0209       NaN
d   0       0.0006     NaN     0.0077

我想过滤这个矩阵,以便只保留那些非 NaN 的列和行,有没有办法在没有嵌套循环的情况下做到这一点?

所以这应该成为

a       b          d
a  0.0161  0.0009  0.0000001
b  0.0009  0.0163  0.0006
d  0       0.0006  0.0077

非常感谢

要在矩阵 A 中拉出没有 NaN 的行,您可以执行以下操作:

A = A(~sum(isnan(A(,2(,:);

要提取矩阵 A 中没有 NaN 的列,您可以执行以下操作:

A = A(:,~sum(isnan(A(,1((;

不幸的是,您无法像在示例中尝试的那样混合和匹配它们,有时您使用 NaN 删除行,同时使用 NaN 保留列值,有时您使用 NaN 删除列并保留行值。

相关内容

  • 没有找到相关文章

最新更新