删除包含NaN的列和其他矩阵中的相应列

时间:2014-07-29 20:17:56

标签: matlab matrix

我有以下问题:

  • 矩阵A包含数字和NaN
  • 相同大小的矩阵B仅包含数字

我想:

  • 删除矩阵A中包含至少一个NaN的所有列
  • 删除矩阵B中的相应列

不知道怎么做...... 要删除使用NaN的列

CompanyDataTimeWindow = estPer3(:,isfinite(sum(estPer3)))

但我不知道如何删除B

中的相应列

2 个答案:

答案 0 :(得分:4)

这应该有效:

NaNCols = any(isnan(A));
A = A(:,~NaNCols)
B = B(:,~NanCols)

答案 1 :(得分:1)

[rows, cols] = find(isnan(A)); 
A(:,unique(cols)) = [];
B(:,unique(cols)) = [];