2011-12-27 100 views
4

对不起,如果问题很混乱,但我会在这里说清楚。什么我希望做的是: 假设我们有一个载体(或1×N个矩阵)A = A1 A2 A3 A4]和另一个B = [B1,B2,B3] 我想C至是:将矩阵中的每个点乘以另一个矩阵,并在每次乘法运算中形成一个新的矩阵,在matlab中

[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循环的情况下编写它,它将节省大量的运行时间。

回答

3

是的。它是用正则矢量乘法完成的,被称​​为outer product。您需要做的就是将列向量与行向量相乘,在这种情况下为A.' * B。请注意,A转置为使其成为列向量(根据定义,您是一个行向量)。

+0

完美的工作!谢谢 :) – patokun 2011-12-27 21:18:16

相关问题