sampleInput =
2.1053 -4.8512 4.6223 0.9665 1.0000
hiddenWeights =
-0.6342 -0.2089 0.4533 -0.6182 -0.3663
-0.9465 -1.0770 -0.2668 0.7077 -1.1656
0.0936 -0.2853 -0.1408 0.6193 -0.5481
1.4253 0.3770 -0.6710 0.1069 0.0310我希望结果是hiddenWeights,每一列都等于上一列* 2.1053。因此,hiddenWeights的第一列应该是:
2.1053 * -0.6342
2.1053 * -0.9464
etc.发布于 2015-10-13 17:22:02
听起来像是bsxfun的工作
out = bsxfun(@times, hiddenWeights, sampleInput);在这里,sampleInput将复制其行的次数与hiddenWeights中的行数一样多,并将通过hiddenWeights对新矩阵进行元素级乘法。结果将是hiddenWeights的每一列都将与sampleInput中的相应列相乘,这将是您所希望的。
发布于 2015-10-13 21:08:33
另一种可能是将sampleInput转换为对角矩阵并应用矩阵乘法:
result = hiddenWeights*diag(sampleInput);https://stackoverflow.com/questions/33108788
复制相似问题