在进行矩阵之间的运算时,“.*”和“*”的意义是不同的:“*”为矩阵乘法,两个矩阵必须满足左边矩阵的列数等于右边矩阵的行数;“.*”为点乘运算,是指两个矩阵中对应元素进行乘法运算。
本文操作环境: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)两数组之间必须有相同的形,或其中一个是标量。
想要查阅更多相关文章,请访问!!
以上就是matlab中.*和*的区别是什么的详细内容。