首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >矩阵中的每一列在向量中逐列相乘

矩阵中的每一列在向量中逐列相乘
EN

Stack Overflow用户
提问于 2015-10-13 17:19:40
回答 2查看 46关注 0票数 0
代码语言:javascript
运行
复制
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的第一列应该是:

代码语言:javascript
运行
复制
2.1053 * -0.6342
2.1053 * -0.9464
etc.
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-10-13 17:22:02

听起来像是bsxfun的工作

代码语言:javascript
运行
复制
out = bsxfun(@times, hiddenWeights, sampleInput);

在这里,sampleInput将复制其行的次数与hiddenWeights中的行数一样多,并将通过hiddenWeights对新矩阵进行元素级乘法。结果将是hiddenWeights的每一列都将与sampleInput中的相应列相乘,这将是您所希望的。

票数 7
EN

Stack Overflow用户

发布于 2015-10-13 21:08:33

另一种可能是将sampleInput转换为对角矩阵并应用矩阵乘法:

代码语言:javascript
运行
复制
result = hiddenWeights*diag(sampleInput);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33108788

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档