Matlab - 矩阵到2的幂

时间:2013-01-24 09:25:03

标签: matlab matrix exponent

Matlab中,我输入了以下命令:

>> a = [1 2; 3 4]

a =

     1     2
     3     4

当我尝试命令a^2时,我得到了以下内容:

>> a^2

ans =

     7    10
    15    22

我实际上期待得到:

ans =

       1     4
       9     16

换句话说,我希望将矩阵的每个元素都提升到 2

为什么结果如上所示?

感谢。

2 个答案:

答案 0 :(得分:15)

在MATLAB中,所有单字符运算符都是矩阵运算符。因此,您正在使用矩阵电源,例如

a^2 == a*a

如果要对每个元素进行平方,则必须使用元素明确的幂运算符:

>> a.^2
ans = 
    1   4
    9   16

阅读有关MATLAB运算符here的更多信息。

答案 1 :(得分:6)

当您在Matlab中键入a^2时,您实际执行的是a*a矩阵乘法)。如果您想在Matalb中执行元素明细操作,则需要输入

a.^2

请注意^2.^2之间的区别! 操作数之前的小点.标记元素方式操作,而不是矩阵操作。

其他操作也是如此,例如/./*.*等。