对应于标称值的可变不确定性

时间:2015-07-21 13:02:52

标签: python uncertainty

我只是使用在http://pythonhosted.org/uncertainties/index.html#

找到的DataTemplate模块

假设我们有一个带有温度传感器的实验装置,该装置已经过校准。现在考虑校准产生可变的测量误差,例如,从±1 K @ 0°C到±4 K @ 100°C线性增加。是否可以定义使用uncertainties模块定义变量时要使用的自定义函数?

示例:

uncertainties

如果是这样,当变量的标称值改变时,变量的不确定性是否会改变?

示例:

>>> from uncertainties import ufloat
>>> def err_fun(temp_in_C):
..:     return 1 + 3 / 100 * temp_in_C
>>> temp_meas = ufloat(10, err_fun, 'tag')
>>> print temp_meas
10+/-1.3

1 个答案:

答案 0 :(得分:0)

不确定性只能是一个实数。因此,当您使用temp_meas.nominal_value = 50更改名义价值时,您只会更改名义价值(而非不确定性)。

在您的情况下,最简单的解决方案可能是创造一个具有不确定性的温度:

def temp_with_uncert(temp_in_C):
    return ufloat(temp_in_C, 1 + 0.03 * temp_in_C)

给出:

>>> temp_with_uncert(10)
10.0+/-1.3
>>> temp_with_uncert(50)
50.0+/-2.5