“.*”和“*”的區別: 在進行數之間的運算時“.*”和“*”是沒有區別的,都是表示普通的乘法運算。例:m = 2,n = 3,m.*n = 6, m*n = 6。 在進行矩陣之間的運算時“.*”和“*”的意義就有所不同了。假設a,b表示兩個矩陣,a*b表示矩陣a與矩陣b進行矩陣相乘,a.*b表示矩陣a中的元素與矩陣b中的元素按位置依次相乘,得到的結果將作為新矩陣中相同位置的元素。 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 的逆陣。 矩陣左除法:AB 矩陣除法,等價於 inv(B)*A, inv(A)是 A 的逆陣。 陣列指數運算:A.^B,AB中的元素逐個進行如下運算:A(i,j)^B(i,j),A(i,j)/B(i,j)兩陣列之間必須有相同的形,或其中一個是標量。 初學者往往混淆陣列運算和矩陣運算。在一些情況下,兩者相互替換會導致非法操作,MATLAB 將會報告產生了錯誤。在另一些情況下,兩種運算都是合法的,那麼這時 MATLAB進行錯誤的運算,併產生錯誤的結果。當我們進行方陣運算時,極易產生這樣的錯誤。兩個方陣具有相同的大小, 兩者之間的陣列運算和矩陣運算都是合法的, 但產生的結果完全不同。在這種情況下,你要萬分的小心。
“.*”和“*”的區別: 在進行數之間的運算時“.*”和“*”是沒有區別的,都是表示普通的乘法運算。例:m = 2,n = 3,m.*n = 6, m*n = 6。 在進行矩陣之間的運算時“.*”和“*”的意義就有所不同了。假設a,b表示兩個矩陣,a*b表示矩陣a與矩陣b進行矩陣相乘,a.*b表示矩陣a中的元素與矩陣b中的元素按位置依次相乘,得到的結果將作為新矩陣中相同位置的元素。 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 的逆陣。 矩陣左除法:AB 矩陣除法,等價於 inv(B)*A, inv(A)是 A 的逆陣。 陣列指數運算:A.^B,AB中的元素逐個進行如下運算:A(i,j)^B(i,j),A(i,j)/B(i,j)兩陣列之間必須有相同的形,或其中一個是標量。 初學者往往混淆陣列運算和矩陣運算。在一些情況下,兩者相互替換會導致非法操作,MATLAB 將會報告產生了錯誤。在另一些情況下,兩種運算都是合法的,那麼這時 MATLAB進行錯誤的運算,併產生錯誤的結果。當我們進行方陣運算時,極易產生這樣的錯誤。兩個方陣具有相同的大小, 兩者之間的陣列運算和矩陣運算都是合法的, 但產生的結果完全不同。在這種情況下,你要萬分的小心。