Sim*_*ity 2 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.
为什么结果如上所示?
谢谢.
Rod*_*uis 15
在MATLAB中,所有单字符运算符都是矩阵运算符.所以,你正在使用矩阵功率,例如,
a^2 == a*a
如果你想对每个元素求平方,你将不得不使用逐元素幂运算符:
>> a.^2
ans = 
    1   4
    9   16
在此处阅读有关MATLAB运算符的更多信息.
当您a^2在Matlab中键入时,您实际执行的是a*a(矩阵乘法).如果你想在Matalb中进行逐元素操作,你需要输入
a.^2
需要注意的区别^2和.^2!操作数之前的
小点.标记了元素操作,而不是矩阵操作.
其他操作也是如此,例如/vs ./,*vs .*.等.