首頁 >常見問題 >matlab中.*和*的差別是什麼

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

青灯夜游
青灯夜游原創
2020-12-23 17:55:0388456瀏覽

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

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

本文操作環境:windows7系統、Dell G3電腦、matlab R2020a版。

.*」與「*」的差異:

  • 在進行數之間的運算時「.*」和「*」是沒有區別的,都是表示普通的乘法運算。例: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)兩個數組之間必定有相同的形,或其中一個是標量。

想要查閱更多相關文章,請造訪PHP中文網! !

以上是matlab中.*和*的差別是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn