您好,我正在尝试对一系列系数进行加权。
有没有一种方法可以逃脱for并迅速做到?
for i in range(0, shape.mbn[2])
mbn_eq[:,:,i] = mbn[:,:,i] .* coeff_n;
mbn_eq是图像m * n * i的一系列,coeff_n是系数矩阵
比方说mbn
{[1,1], [1,1];
[2,2], [2,2];}
这将是coeff_n矩阵
{[1,2], [3,4]}
所以我想要的结果是
{[1,2], [3,4];
[2,4], [6,8]}
答案 0 :(得分:2)
使用numpy数组,它们在幕后支持broadcasting。
import numpy as np
mbn = np.array([[1,1],[1,1],[2,2],[2,2]])
mbn = mbn.reshape(2,2,2)
print(mbn)
print(mbn.shape)
coeff = np.array([[1,2], [3,4]])
print(mbn * coeff)