MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   资料存档 (https://www.labfans.com/bbs/forumdisplay.php?f=72)
-   -   如何在多维数组上使用any()? (https://www.labfans.com/bbs/showthread.php?t=22635)

poster 2019-12-10 16:49

如何在多维数组上使用any()?
 
我正在测试任意大,任意维度的逻辑数组,并且我想找出其中的[I]任意一个或多个[/I]是否正确。 any()只能在一个维度上工作, sum() 。我知道我可以测试维数并重复any()直到得到一个答案,但是我希望有一种更快,更坦率,更优雅的方法。

有想法吗?

我正在运行2009a(按照旧的说法,是R17)。


回答:
如果您的数据在矩阵[B]A中[/B] ,请尝试以下操作:

anyAreTrue = any(A(:)); [B]编辑:[/B]为了向不熟悉语法的任何人解释更多信息, [B]A(:)[/B]使用[URL="http://www.mathworks.com/access/helpdesk/help/techdoc/ref/colon.html"]冒号运算符[/URL]获取数组[B]A[/B]的全部内容,而不管其尺寸如何,并将它们整形为单个列向量(大小numel(A)-by-1)。只需要对[URL="http://www.mathworks.com/access/helpdesk/help/techdoc/ref/any.html"]ANY进行[/URL]一次调用即可对所得列向量进行操作。



[url=https://stackoverflow.com/questions/709872]更多&回答...[/url]


所有时间均为北京时间。现在的时间是 23:45

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.