在matlab中将矩阵中的每个点乘以另一个矩阵,并在每个乘法中形成一个新矩阵

时间:2011-12-27 20:23:49

标签: math matlab matrix

很抱歉,如果这个问题令人困惑,我会在这里说清楚。我想要做的是: 假设我们有一个向量(或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循环的情况下编写它,它将节省大量的运行时间。

1 个答案:

答案 0 :(得分:3)

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