MATLAB^和.^区别

就是平方的时候的区别

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

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-07-27

MATLAB两种不同类型的算子:矩阵和数组

矩阵运算由线性代数的规则来定义;

数组运算逐个元素执行,可用于多维数组,句点字符(.)区分矩阵和数组;

^表示矩阵相乘,

.^表示数组相乘,数组中的每一个元素相乘;

更加详细的解释如下:

http://jingyan.baidu.com/article/154b46316062c128ca8f4121.html

第2个回答  2010-06-27
^是以矩阵为操作数的乘方,.^是以矩阵中的每个元素为操作数的乘方
A^2相当于A*A,要求A的行列个数必须相同
A.^2相当于A中的每个元素a*a,对A的行列个数没什么要求
A=[1,2;3,4];
那么A^2=[7,10;15,22]
A.^2=[1,4;9,16]
第3个回答  推荐于2017-09-01
这是点乘,直接用乘法的话,是矩阵乘法,也就是说,必须满足前一个矩阵的列数等于后一个矩阵的行数。

这里是使用的每一个元素相乘,也就是向量或者矩阵中对应元素相乘,使用点乘操作,还有点除,一样的道理

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本回答被提问者采纳
第4个回答  2019-02-05
这是点乘,直接用乘法的话,是矩阵乘法,也就是说,必须满足前一个矩阵的列数等于后一个矩阵的行数。
这里是使用的每一个元素相乘,也就是向量或者矩阵中对应元素相乘,使用点乘操作,还有点除,一样的道理
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