“.*”和“*”的區別:
1、在進行數之間的運算時 “ .* ” 和 “ * ” 是沒有區別的,都是表示普通的乘法運算。例:a = 2,b = 3,a.*b = 6, a*b = 6。
2、在進行矩陣之間的運算時“.*”和“*”的意義就有所不同了。假設A,B表示兩個矩陣,A*B表示矩陣A與矩陣B進行矩陣相乘,A.*B表示矩陣A中的元素與矩陣B中的元素按位置依次相乘,得到的結果將作爲新矩陣中相同位置的元素。
例如:A1 = [0 -1 0;1 0 0;0 0 -1] * [0 -1 0;1 0 0;0 0 -1];
A2 = [0 -1 0;1 0 0;0 0 -1] .* [0 -1 0;1 0 0;0 0 -1];A1 = -1 0 0
0 -1 0
0 0 1A2 = 0 1 0
1 0 0
0 0 1
3、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)兩數組之間必須有相同的形,或其中一個是標量。