Math 在matlab中,将矩阵中的每个点乘以另一个矩阵中的一个点,然后在每次乘法后形成一个新矩阵

Math 在matlab中,将矩阵中的每个点乘以另一个矩阵中的一个点,然后在每次乘法后形成一个新矩阵,math,matlab,matrix,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循环的情况下编写它,将节省大量的运

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

是的。它是通过正则向量乘法完成的,被称为。您只需将列向量与行向量相乘,在本例中,
a.*B
。请注意,
A
被转置为列向量(您的定义是行向量)