我有一组标量和两组矢量:
w1, w2... wn
b1, b2... bn
c1, c2... cn
w1, w2... wn
是标量并存储在w
中,
b1, b2... bn
存储在B
和{}中
c1, c2... cn
存储在C
中。如何有效地获得
w1*(b1*c1') + w2*(b2*c2') + ... + wn*(bn*cn')
bi
和ci
是向量,但bi*ci'
是矩阵,而不是标量?
尺寸:1 x N
为w
,P x N
为B
,Q x N
为C
。 wi = w(i)
,bi = B(:, i)
和Ci = C(:, i)
答案 0 :(得分:1)
简单地:
result = B*diag(W)*C';
如果N
比P
和Q
大得多,您可能更愿意使用diag(W)
计算稀疏形式的权重矩阵spdiags(W', 0, N, N)
。