当前位置: 代码迷 >> 综合 >> MATLAB解惑01:“*” 与 “.*” 什么区别?
  详细解决方案

MATLAB解惑01:“*” 与 “.*” 什么区别?

热度:76   发布时间:2023-11-21 13:38:34.0

“.”和“”的区别:

  1. 在进行数之间的运算时“.*”和“*”是没有区别的,都是表示普通的乘法运算。例:m = 2,n = 3,m.n = 6, mn =6。
  2. 在进行矩阵之间的运算时“.”和“”的意义就有所不同了。假设a,b表示两个矩阵,a*b表示矩阵a与矩阵b进行矩阵相乘,a.*b表示矩阵a中的元素与矩阵b中的元素按位置依次相乘,得到的结果将作为新矩阵中相同位置的元素。
  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)两数组之间必须有相同的形,或其中一个是标量。

  相关解决方案