Numpy的allclose * 如果两个数组在容差 * 内元素相等,则返回True。Matlab中有没有等价物?
oyjwcjzk1#
据我所知没有但它的描述如果下面的等式是元素方面的True,则allclose返回True。绝对值(a - b)<=(atol + rtol * 绝对值(b))在Matlab中很容易模仿:
all( abs(a(:)-b(:)) <= atol+rtol*abs(b(:)) )
其中a和b是阵列(相同形状,任意维数),atol是绝对公差,rtol是相对公差。如果您还想特别检查形状是否相同:
a
b
atol
rtol
isequal(size(a), size(b)) && all( abs(a(:)-b(:)) <= atol+rtol*abs(b(:)) )
注意:你不应该使用NumPy默认的rtol和atol,他们自己承认。参见ongoing discussion。
1条答案
按热度按时间oyjwcjzk1#
据我所知没有但它的描述
如果下面的等式是元素方面的True,则allclose返回True。
绝对值(a - b)<=(atol + rtol * 绝对值(b))
在Matlab中很容易模仿:
其中
a
和b
是阵列(相同形状,任意维数),atol
是绝对公差,rtol
是相对公差。如果您还想特别检查形状是否相同:
注意:你不应该使用NumPy默认的
rtol
和atol
,他们自己承认。参见ongoing discussion。