matlab中.*y是什么意思

2025-04-18 04:06:55
推荐回答(1个)
回答1:

.*y就是与y数组对应位置的每个值相乘。

在matlab里面定义了两种乘法,一种是矩阵的乘法运算,符合矩阵的运算规则,直接用*表示,但需要的是两个矩阵A(m×n)、B(n×k),得到的是C(m×k)。另一种就是点乘(.*),也就是两个数组或矩阵一样的大小,然后对应相同位置上的元素相乘。

问题中.*y对应的就是第二种乘法规则。

下面举个例子。

(1)矩阵相乘

A=[1,2;3,1;1,4];%三行两列
B=[1,2,2,1;1,3,2,4];%两行四列
C=A*B;%得到的结果是三行四列的矩阵

计算结果:

>> C

C =

     3     8     6     9
     4     9     8     7
     5    14    10    17

(2)点乘

x=[1,2,3,4];
y=[5,6,7,8];
z=x.*y;

计算结果:

>> z

z =

     5    12    21    32

可见.*y的功用。