Matlab - 矩阵的 2 次方
Posted
技术标签:
【中文标题】Matlab - 矩阵的 2 次方【英文标题】:Matlab - matrix to the power of 2 【发布时间】:2013-01-24 09:25:02 【问题描述】:在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。
为什么结果如上图?
谢谢。
【问题讨论】:
【参考方案1】:在 MATLAB 中,所有单字符运算符都是 矩阵 运算符。因此,您正在使用 matrix 幂,例如
a^2 == a*a
如果你想对每个元素求平方,你必须使用element-wise幂运算符:
>> a.^2
ans =
1 4
9 16
阅读更多关于 MATLAB 的运算符here。
【讨论】:
【参考方案2】:当你在 Matlab 中输入a^2
时,你实际执行的是a*a
(矩阵 乘法)。如果你想在 Matalb 中进行 element-wise 操作,你需要输入
a.^2
注意^2
和.^2
之间的区别!
操作数前的小点.
标记逐元素 操作,而不是矩阵操作。
其他操作也是如此,例如/
vs ./
、*
vs. .*
等
【讨论】:
以上是关于Matlab - 矩阵的 2 次方的主要内容,如果未能解决你的问题,请参考以下文章