MATLAB矩阵分析和计算
上QQ阅读APP看书,第一时间看更新

5.6 magic——生成魔方矩阵

魔方矩阵又称幻方矩阵,是有相同的行数和列数,并且每行、每列及对角线上的元素之和都相等的矩阵。魔方矩阵中的每个元素不能相同。你能构造任何大小(除了2×2)的魔方矩阵。该矩阵由1到n2之间任意整数构造而成。

如三阶魔方矩阵为

可见,该矩阵的每一行、每一列和两个对角线上元素之和都等于15。

在MATLAB中,采用函数magic()产生魔方矩阵,该函数的调用格式如下:

M=magic(n)——生成一个n阶魔方矩阵M,该矩阵由1~n2之间任意整数构造而成且每行每列的和都相等。其中,n为大于或等于3的整数。

【例5.9】 生成三阶、四阶和五阶魔方矩阵。

    magic(3)
    ans=

        8    1   6
        3    5   7
        4    9   2

    >> magic(4)
    ans=

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

    Y=magic(5)
    Y=

        17    24    1   8  15
        23     5    7  14  16
         4     6   13  20  22
        10    12   19  21   3
        11    18   25   2   9