在Matlab中查找数组中的第一个零

5

我希望在Matlab中查找数组中的第一个零元素。 我使用“find”函数来查找零,但它没有给出正确的答案,而对于1则是正确的。


1
这个问题没有提供一个最小化、完整化且能复现的例子(MCVE),因此吸引了许多猜测,而且仍然无法解决。应该将其关闭。 - halfer
3个回答

12

find应该可以这样使用:

> a = [1 2 3 0 5 6 0 8 9];
> find(a==0, 1, 'first')
ans =  4

如果这不起作用,请告诉我们(以及有关问题的一些其他详细信息)。

MATLAB find


3
在第一个位置查找数组a中值为0的元素,返回其索引。等同于 MATLAB 中的find(a==0,1,'first') - Matt Phillips
我没有仔细阅读原帖的实际问题。谢谢,@MattPhillips! - Jonathan Fretheim

1
>> a = [1 2 3 0 5 6 0 8 9];

>> a=a==0;

>> n=1:length(a);

>> [n out]=max(a./n);

out =

     4

这个答案可以改进:解释一下你在这里做什么,并提供一些基本的Matlab操作的额外资源。如果这个问题不值得详细回答,考虑在评论中要求他进一步阐述他的问题。 - Ray

1
更简单:
find(~a,1,'first')

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接