取多维不确定性 uarray 的平方根

问题描述 投票:0回答:1

如何计算 2D uarray 的平方根?

例如,

import numpy as np
from uncertainties import unumpy,umath

array=np.array([[2,3],[6,7],[5,3]])
uncertainties=np.array([[2,2],[4,4],[5,5]])
Uarray=unumpy.uarray(array,uncertainties)
print(Uarray)

输出:

[[2.0+/-2.0 3.0+/-2.0]
 [6.0+/-4.0 7.0+/-4.0]
 [5.0+/-5.0 3.0+/-5.0]]

现在当我尝试求平方根时,

umath.sqrt(Uarray)

我收到此错误:

“只有长度为 1 的数组可以转换为 Python 标量”

我真正想做的是取元素方根,类似于取 2D NumPy 数组的平方根。 我想象会使用循环,但我不确定如何实现它。

python list numpy numpy-ndarray uncertainty
1个回答
0
投票

使用

unumpy.sqrt
代替
umath.sqrt

>>> unumpy.sqrt(Uarray) 
array([[1.4142135623730951+/-0.7071067811865475,
        1.7320508075688772+/-0.5773502691896258],
       [2.449489742783178+/-0.8164965809277261,
        2.6457513110645907+/-0.7559289460184544],
       [2.23606797749979+/-1.118033988749895,
        1.7320508075688772+/-1.4433756729740645]], dtype=object)
© www.soinside.com 2019 - 2024. All rights reserved.