.^这是点乘;^是乘法。
直接用乘法的话,是矩阵乘法,也就是说,必须满足前一个矩阵的列数等于后一个矩阵的行数。
使用点乘操作,是使每一个元素相乘,也就是向量或者矩阵中对应元素相乘。
下面是例子:
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 对应的元素 相乘,构成新的矩阵。
点除(./)、除(/)与上述方法类似。
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