首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >矩阵与向量的乘积

矩阵与向量的乘积
EN

Stack Overflow用户
提问于 2015-10-06 05:51:24
回答 1查看 45关注 0票数 0

我试图在Matlab中乘2个矩阵,但是它们没有相同的维数。事实上,我的乘法不是标准的矩阵乘法。我有一个31乘1矩阵(或向量)和31乘512乘512矩阵.我想取我的向量的第一个元素,然后用它乘以第一个512乘以512,得到一个新的31乘512乘以512的数组。但我不想使用for循环来解决性能问题。

EN

回答 1

Stack Overflow用户

发布于 2015-10-06 06:00:43

这是bsxfun的简单用例。

代码语言:javascript
复制
bsxfun(@times, v, M)

或者,您可能需要permute you向量,v,这样它的单子维数与您想要扩展的方向是正交的(在您的情况下,它实际上是沿着第一维和第二维展开的),即将v转换为31乘1乘1(虽然我不确定这是否必要,但是如果您有错误的话,尝试它),就像在你的情况下沿着第三维展开一样:

代码语言:javascript
复制
bsxfun(@times, permute(v,[1,3,2]), M)

注意,另一种常见的方法是使用repmat.*,但是bsxfun更有效。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32962627

复制
相关文章

相似问题

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