2017-06-24 31 views
0

我有索引如下面A两行的mx3矩阵A的,与它们相关联的元件的(Idx = 3, 8, and 10)如何找到满足特定条件的矩阵行的索引?

A = [7 4 5 
    8 4 5 
    NaN NaN NaN 
    1 4 5 
    1 5 5 
    7 4 5 
    2 4 5 
    4 5 7 
    2 4 6 
    NaN NaN NaN]; 

我将要提取具有最后all NaNs行;这可能是与isnan发生在矩阵A

+1

我期待'A'有一些'NaN's您的问题的更好的解释。你需要这个:'idx = idx(all(isnan(A(idx,:)),2))'; 'IDX = IDX(结束)'? –

+0

对于给定的例子,只有'A(3,:)'具有所有'NaNs'。我想试用一个可以在其他行添加'NaNs'。 – User1772

+2

请更清楚地说明问题,我不知道你在问什么。提供一个简单的例子,重现您不理解的行为,以及您的期望。 – Sheljohn

回答

2

的任何行查找NaN S中的位置,并使用all查找其所有元素都是NaN S中的行。找到idx的元素,其中所述条件为真,最后得到满足这些条件的idx的最后一个元素。

idx=idx(all(isnan(A(idx,:)),2)); %elements of idx for which A has all NaNs 
idx=idx(end);     %last element of idx for which A has all NaNs 

,或者如果你想要一个班轮然后使用find与方向'last'

idx=idx(find(all(isnan(A(idx,:)),2),1,'last')); 
+0

哦,真的,我错过了最后一部分。非常感谢! – User1772

相关问题