如何在数组中查找第一个零列(或最后一个非零列),大于某个列值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在数组中查找第一个零列(或最后一个非零列),大于某个列值相关的知识,希望对你有一定的参考价值。
我有一个数组,其中前两列为所有条目为零。该数组对于某些列具有非零值,然后在其余列中为零。我希望找到具有最终非零(或第一个零)条目的列,该列不是第1列或第2列,用于绘图。我试过了
找到(B(1,:)== 0,1)
当然返回1。
我试过了
找到(B(1,:)〜= 0,1)
我觉得它会起作用,但奇怪地回归'2'。我认为find(b(i,:)〜= 0,1,'last')可能会起作用,我已经看到它被建议作为各种Stack Overflow响应的MATLAB命令,但是我仍然得到'2'!
任何帮助将非常感激。
答案
您需要find
的第二个输出参数,它表示列下标。即
[~, cfirst] = find(b,1); %to find the column subscript of the first non-zero value
[~, clast] = find(b,1,'last'); %to find the column subscript of the last non-zero value
以上是关于如何在数组中查找第一个零列(或最后一个非零列),大于某个列值的主要内容,如果未能解决你的问题,请参考以下文章
在 Pandas Dataframe 中获取具有非零列的前 11 行
Spark2 生存分析Survival regression