【问题标题】:Multiplying each point in a matrix, by one of another matrix, and forming a new matrix out of each multiplication, in matlab在matlab中将矩阵中的每个点乘以另一个矩阵中的一个,并在每次乘法中形成一个新矩阵
【发布时间】:2011-12-27 20:23:49
【问题描述】:

如果问题令人困惑,我很抱歉,但我会在这里说清楚。我要做的是: 假设我们有一个向量(或 1xN 矩阵)A= [a1 a2 a3 a4] 和另一个 B=[b1 b2 b3] 我希望 C 成为:

 [a1*b1  a1*b2  a1*b3
  a2*b1  a2*b2  a3*b3
  a3*b1  a3*b2  a3*b3
  a4*b1  a4*b2  a4*b3]

在matlab中有没有这样的命令?我已经在 for 循环中完成了它,但是考虑到循环被调用的次数,如果我能够设法在没有 for 循环的情况下编写它,它将节省大量运行时间。

【问题讨论】:

    标签: math matlab matrix


    【解决方案1】:

    是的。它通过正则向量乘法完成,称为outer product。您需要做的就是将列向量与行向量相乘,在本例中为A.' * B。请注意,A 被转置以使其成为列向量(根据定义,您是行向量)。

    【讨论】:

      猜你喜欢
      • 2012-09-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多