2014-01-27 90 views
-2

假设给出2个矢量:运算符`。*`在matlab中做什么?

a = [1;2;3], b = [4;5;6]

由于矩阵乘法定义,操作a*b是不可接受的。

但我可以看到,a.*b是可以接受的,从而导致[4;10; 18]

.*操作在做什么?

Tried to google but no result

在此先感谢。

+2

逐元素乘法 –

+0

回答,luis – zmo

+0

@LuisMendo在本例中,[1 * 4,2 * 5,3 * 6]?元素是由元素的两个matrecis? – Billie

回答

4

它进行逐个元素的乘法运算。引用Matlab帮助(或参见online help):

。*数组相乘。
X. * Y表示逐个元素的乘法。 X和Y 必须具有相同的尺寸,除非标量是标量。标量可以乘以任何东西。

欲了解更多信息,请参阅@am304's link above

+0

谢谢!我还有一个问题,为什么'a'* b = 32'?为什么变成一个标量而不是矢量? – Billie

+0

因为'''是共轭转置。所以现在你有一个1×3矩阵乘以一个3×1矩阵,根据矩阵乘法规则给出一个1×1矩阵 –

+0

是的,你是对的..我忘记了一点如何多重播放一个矩阵。感谢您的帮助!祝你有美好的一天。 – Billie