繁体   English   中英

如何查找数组中的前零列(或最后一个非零列),大于某个列值

[英]How to find the first zero column (or last non-zero column) in an array, greater than a certain column value

我有一个数组,其中所有条目的前两列均为零。 该数组在某些列数上具有非零值,在其余列中具有零。 我希望找到具有最后非零(或第一个零)条目的列(不是列1或2)进行绘图。 我努力了

找到(B(1,:)== 0,1)

当然哪个返回1。

我努力了

找到(B(1,:)〜= 0,1)

我以为可以,但是奇怪地返回“ 2”。 我认为find(b(i,:)〜= 0,1,'last')可能会代替,我已经看到它被建议作为各种堆栈溢出响应的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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM