很抱歉,如果这个问题令人困惑,我会在这里说清楚。我想要做的是: 假设我们有一个向量(或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循环的情况下编写它,它将节省大量的运行时间。
答案 0 :(得分:3)
是。它通过常规向量乘法完成,称为outer product。您需要做的就是将列向量与行向量相乘,在本例中为A.' * B
。请注意,A
被转置为使其成为列向量(根据定义,您的行向量)。