返回介绍

求和、转置和对角线

发布于 2019-08-26 14:10:36 字数 1193 浏览 970 评论 0 收藏 0

可能聪明的你已经发现了魔方矩阵各行或列数字相加后的奇妙属性,无论是各行相加,还是各列相加,还是两条对角线的数字相加,都得到同一个结果。下面让我们用MATLAB来证实这一结论。首先试着输入

    sum(A)
    

MATLAB显示

    ans =
        34    34    34    34
    

如果你没有指定变量,MATLAB就会用变量ans(answer的缩写),来储存计算的结果。这里显示的是一个行向量,它的每一个元素是矩阵A相应列的元素的和。很明显,每一列的数字加起来的结果都是同一个数字,34。

如果每一行加起来又会怎样呢?由于MATLAB自带了计算矩阵列元素和的函数,所以最简单的计算行元素和的方法就是求原矩阵的转置的列元素和。一个矩阵的转置可以用在矩阵名后面加一个'''来表示。例如输入

    A'
    

结果显示

    ans =
        16     5     9     4
         3    10     6    15
         2    11     7    14
        13     8    12     1
    

并且

    sum(A')'
    

产生一个包含由行元素的和组成的列向量

    ans =
        34
        34
        34
        34
    

对角线元素由diag函数很容易就被列出来

    diag(A)
    

结果显示:

    ans =
        16
        10
         7
         1
    

如果输入

    sum(diag(A))
    

结果显示

    ans =
        34
    

另外的对角线,即所谓的反对角线,在数学上就不是那么重要的了。所以MATLAB就没有 相应的函数。但在图形函数中,函数fliplr产生一个左右调转的矩阵

    sum(diag(fliplr(A)))
    ans =
        34
    

你已经证明了在杜勒的木板图中的矩阵的确是一个魔术方阵,在证明过程中举了一些用MATLAB作矩阵运算的例子。以下的章节将用此矩阵继续介绍MATLAB的其他功能。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文