我想在Python中创建一个正交矩阵,以根据从信号源到信号源的距离以及到信号源的角度来可视化信号的衰减。 为简单起见,我们可以描述下降趋势:
NewValue = cos(angle)*(StartingValue – a*(distance))
我发现Scipy.stats具有ortho_group,可用于创建随机正交矩阵:
from scipy.stats import ortho_group
x = ortho_group.rvs(3)
np.dot(x, x.T)
# returns:
array([[ 1.00000000e+00, 1.13231364e-17, -2.86852790e-16],
[ 1.13231364e-17, 1.00000000e+00, -1.46845020e-16],
[ -2.86852790e-16, -1.46845020e-16, 1.00000000e+00]])
import scipy.linalg
np.fabs(scipy.linalg.det(x))
# returns:
1.0
由于随机矩阵并不是真正有用,所以我一直想知道如何根据函数创建具有值的正交矩阵。
我遇到的第二个挑战是如何将矩阵范围限制为0-45°度的角度范围。