我在numpy中有一个4x4单位矩阵,我想用一个因子来缩放前三个维度。目前,我的方式如下:
# Some scaling factors passed as a parameter by the user
scale = (2, 3, 4)
scale += (1,) # extend the tuple
my_mat = scale * np.eye(4)
出于好奇,我想知道是否有办法在没有扩展元组的情况下做到这一点。
答案 0 :(得分:3)
使用numpy broadcasting rules和索引
可以快速完成A = np.eye(4)
scale = [2, 3, 4]
A[:3, :3] *= scale