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

对不起,如果问题混乱,但我会在这里说清楚.我想要做的是:
假设我们有一个向量(或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循环的情况下编写它,它将节省大量的运行时间.

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

转载注明原文:math – 将矩阵中的每个点乘以另一个矩阵,并在每个乘法中形成一个新矩阵,在matlab中 - 代码日志