“.*”和“*”的区别:
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 1
A2 = 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)两数组之间必须有相同的形,或其中一个是标量。