matlab中.*和*的區別是什麼

2020-12-23 21:00:40

在進行矩陣之間的運算時,「.*」和「*」的意義是不同的:「*」為矩陣乘法,兩個矩陣必須滿足左邊矩陣的列數等於右邊矩陣的行數;「.*」為點乘運算,是指兩個矩陣中對應元素進行乘法運算。

.*」和「*」的區別:

  • 在進行數之間的運算時「.*」和「*」是沒有區別的,都是表示普通的乘法運算。例:m = 2,n = 3,m.*n = 6, m*n = 6。

  • 在進行矩陣之間的運算時「.*」和「*」的意義就有所不同了。假設a,b表示兩個矩陣,a*b表示矩陣a與矩陣b進行矩陣相乘,a.*b表示矩陣a中的元素與矩陣b中的元素按位元置依次相乘,得到的結果將作為新矩陣中相同位置的元素。

  • *為矩陣乘法,若A為m*n維矩陣,B為n*p維矩陣,則A*B為m*p維矩陣

  • .*為點乘運算,是指兩個矩陣中對應元素進行乘法運算。要求兩個矩陣維數相同

MATLAB 中用一個特殊的符號來區分矩陣運算和陣列運算。在需要區分兩者不同的時侯,把點置於符號前來指示這是一個陣列運算(例如, .*)。線面給出的是一些常見的陣列和矩陣運算。

  • 陣列加法:A+B,陣列加法和矩陣加法相同。

  • 陣列減法:A-­B ,陣列減法和矩陣減法相同。

  • 陣列乘法:A.*B,A 和 B 的元素逐個對應相乘,兩陣列之間必須有相同的形,或其中一個是標量。

  • 矩陣乘法:A*B,A 和 B 的矩陣乘法,A 的列數必須和 B 的行數相同。

  • 陣列右除法:A./B,A 和 B 的元素逐個對應相除:A(i,j)/B(i,j)兩陣列之間必須有相同的形,或其中一個是標量。

  • 陣列左除法:A.\B,A 和 B 的元素逐個對應相除:B(i,j)/A(i,j)兩陣列之間必須有相同的形,或其中一個是標量。

  • 矩陣右除法:A/B 矩陣除法,等價於 A*inv(B), inv(B)是 B 的逆陣。

  • 矩陣左除法:A\B 矩陣除法,等價於 inv(B)*A, inv(A)是 A 的逆陣。

  • 陣列指數運算:A.^B,AB中的元素逐個進行如下運算:A(i,j)^B(i,j),A(i,j)/B(i,j)兩陣列之間必須有相同的形,或其中一個是標量。

想要查閱更多相關文章,請存取!!

以上就是matlab中.*和*的區別是什麼的詳細內容,更多請關注TW511.COM其它相關文章!