我只是使用在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
答案 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