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 次方的主要内容,如果未能解决你的问题,请参考以下文章

matlab怎么求多元一次方程组

如何用matlab解一元三次方程

如何用matlab解方程组

matlab求二元一次方程组

如何使用施特拉森算法将除 2 次方以外的度数矩阵相乘?

在MATLAB中,方程Ax=B的解可以用哪个命令求得?