首页 > 常见问题 > matlab中.*和*的区别是什么

matlab中.*和*的区别是什么

青灯夜游
发布: 2023-01-13 00:25:25
原创
88460 人浏览过

在进行矩阵之间的运算时,“.*”和“*”的意义是不同的:“*”为矩阵乘法,两个矩阵必须满足左边矩阵的列数等于右边矩阵的行数;“.*”为点乘运算,是指两个矩阵中对应元素进行乘法运算。

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中文网其他相关文章!

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板