gpt4 book ai didi

matlab - 'does matrix contain value X?' 函数

转载 作者:太空宇宙 更新时间:2023-11-03 19:05:18 25 4
gpt4 key购买 nike

是否有内置的 MATLAB 函数来确定矩阵是否包含某个值?(ala PHP 的 in_array())

最佳答案

有很多方法可以做到这一点。 ismember 是第一个想到的,因为它是您希望采取的集合成员操作。因此

X = primes(20);
ismember([15 17],X)
ans =
0 1

因为 15 不是质数,但 17 是质数,所以 ismember 在这里完成了它的工作。

当然,查找(或任何)也可以。但是这些并没有像 ismember 那样矢量化。我们可以测试 15 是否在 X 表示的集合中,但要测试这两个数字将需要循环或连续测试。

~isempty(find(X == 15))
~isempty(find(X == 17))

或者,

any(X == 15)
any(X == 17)

最后,我要指出,如果数字可能是真正的 float ,那么对精确值的测试是危险的。正如我所展示的,针对整数值的测试很容易。但是针对 float 的测试通常应该使用容差。

tol = 10*eps;
any(abs(X - 3.1415926535897932384) <= tol)

关于matlab - 'does matrix contain value X?' 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1913670/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com