发布网友 发布时间:2022-03-25 20:08
共8个回答
热心网友 时间:2022-03-25 21:37
.^这是点乘;^是乘法。
直接用乘法的话,是矩阵乘法,也就是说,必须满足前一个矩阵的列数等于后一个矩阵的行数。
使用点乘操作,是使每一个元素相乘,也就是向量或者矩阵中对应元素相乘。
下面是例子:
A=ones(3,3)
A =
1 1 1
1 1 1
1 1 1
>> A^2
ans =
3 3 3
3 3 3
3 3 3
>> A.^2
ans =
1 1 1
1 1 1
1 1 1
扩展资料
在matlab中还有如下类似命令:
点乘(.*)、乘(*);
例:假设现有A、B两个矩阵(先假定它们的这两种操作都是合法的。),乘( A*B )表示矩阵A乘以矩阵B,就是普通的矩阵运算;点乘( A.*B )表示矩阵A的元素与矩阵B 对应的元素 相乘,构成新的矩阵。
点除(./)、除(/)与上述方法类似。
热心网友 时间:2022-03-25 22:55
1、运算方式不一样
点乘是数组的运算,不加点是矩阵的运算。
2、运算要求不一样
点乘要求参与运算的两个量两必须是维数相同,是对应元素的相乘,而不加点表示的是矩阵相乘(除的时候通过逆矩阵来实现),要求内维相同,也就是前一个矩阵的列的维数等于后一个矩阵的行 的维数。
实例
如A,B分别为两个矩阵,则:
A.*B表示的是两个矩阵的对应元素相乘,其中生成的同阶矩阵C的对应的矩阵元素为:C(i,j)=A(i,j)*B(i,j);
而如果A*B的话,则是正常的矩阵相乘,并非是对应的元素相乘。这一点相当重要。
x=[1 1;1 1];
>> x.^2ans =
1 1
1 1
>> x^2ans =
2 2
2 2
热心网友 时间:2022-03-26 00:30
这是点乘,直接用乘法的话,是矩阵乘法,也就是说,必须满足前一个矩阵的列数等于后一个矩阵的行数。热心网友 时间:2022-03-26 02:21
^是以矩阵为操作数的乘方,.^是以矩阵中的每个元素为操作数的乘方热心网友 时间:2022-03-26 04:29
针对数组或者矩阵时,.^是点乘运算,对应位置的元素相乘热心网友 时间:2022-03-26 06:54
没有指南嘛?热心网友 时间:2022-03-26 09:35
不带“.”的是方阵求幂,带“.”是常数求幂热心网友 时间:2022-03-26 12:33
matlab鼓励用户使用矩阵运算