Python:不确定性的 ufloat 功能

Python: Uncertainties' ufloat functionality

我正在使用代表python 2.7 的模块uncertainties。谁输入过以下代码行:

import uncertainties
counts = uncertainties.ufloat(1,1)
auto_correlator = (counts - counts) / (2 * counts)
print auto_correlator
#0.0+/-0

你对结果的不确定性感到疑惑吗?根据我对统计数据的理解,我预计会出现有限错误:0.0+/-0.5。我使用的错误传播公式如下:

我不喜欢每次都用手做。我怎样才能有效和可靠地传播错误,或者我的直觉是错误的?

我觉得这个结果还不错。不管counts不确定多少,counts - counts总是恰好0,因为一样 从自身减去的变量,我们不关心它的 "real" 值。

正如@elric 在他们的评论中所说,如果您想要相同的 "value"(即相同的标称值和相同的不确定性),请使用不同的变量。

counts1 = uncertainties.ufloat(1,1)
counts2 = uncertainties.ufloat(1,1)
auto_correlator = (counts1 - counts2) / (counts1 + counts2)
print auto_correlator

如果使用相同的数字,减法的不确定性为零。您在想的是具有相同不确定性的不同数字。

import uncertainties
counts1 =     uncertainties.ufloat(1,1)
counts2 = uncertainties.ufloat(1,1)
counts3 = uncertainties.ufloat(1,1)
not_auto_correlator = (counts1 - counts2) / (2 * counts3)
print not_auto_correlator