2014-01-27 86 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