Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
高级会员
注册日期: 2019-11-21
帖子: 3,006
声望力: 66 ![]() |
![]()
是否有内置的MATLAB函数来确定矩阵是否包含某个值? (ala PHP的in_array() )
回答: 有很多方法可以做到这一点。 ismember是第一个想到的成员,因为这是您希望采取的固定成员资格操作。从而 X = primes(20); ismember([15 17],X) ans = 0 1 因为15不是素数,但是17是,ismember在这里做得很好。 当然,查找(或任何查找)也将起作用。但是这些不是按照ismember的意义进行向量化的。我们可以测试以查看X表示的集合中是否包含15,但是要测试这两个数字将需要循环或连续进行测试。 ~isempty(find(X == 15)) ~isempty(find(X == 17)) 要么, any(X == 15) any(X == 17) 最后,我要指出的是,如果数字可能是真实的浮点数,则测试精确值非常危险。如我所示,对整数值进行测试很容易。但是针对浮点数的测试通常应采用公差。 tol = 10*eps; any(abs(X - 3.1415926535897932384) |
![]() |
![]() |