我有以下协方差矩阵
$(function(){
$.ajaxSetup({
headers: { 'X-CSRF-Token': $('meta[name="authenticity-token"]').attr('content') }
});
});
我想过滤这个矩阵,以便只保留那些非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
非常感谢
答案 0 :(得分:0)
要在没有NaN的矩阵A中拉出行,您可以这样做:
A = A(~sum(isnan(A),2),:);
要在没有NaN的矩阵A中拉出列,您可以这样做:
A = A(:, - sum(isnan(A),1));
不幸的是,你不能像你试图在你的例子中那样混合和匹配它们,有时你用NaN删除行,同时用NaN保留列值,有时你用NaN删除列并保留行值。