matlab相当于numpy allclose?

时间:2015-03-10 23:16:45

标签: matlab floating-point comparison floating-accuracy

Numpy的allclose 如果两个数组在容差内是元素相等的,则返回True。

Matlab中有没有等效的内容?

1 个答案:

答案 0 :(得分:4)

不是我知道的。但它的描述

  

如果以下等式是按元素为真的,则allclose返回True。

     

绝对(a - b)< =(atol + rtol * absolute(b))

很容易在Matlab中模仿:

all( abs(a(:)-b(:)) <= atol+rtol*abs(b(:)) )

其中ab是数组(相同的形状,任意数量的维度),atol是绝对容差,rtol是相对容差。

如果您还想特别检查形状是否相同:

isequal(size(a), size(b)) && all( abs(a(:)-b(:)) <= atol+rtol*abs(b(:)) )