所谓魔方矩阵就是每一行的元素之和都相等,每一列之和都相等,对角线元素之和也相等的矩阵。这种矩阵在数学中有着特殊的应用。本经验就像大家讲解一下如何创建n阶魔方矩阵。

1.限制条件

所谓魔方矩阵(magic matrix)就是值该矩阵有1~n2的正整数按照一定的规则排列而成,而且每一行、每一列、没条对角线上的元素都等于n(n2+1)/2。就生成规则而言魔方矩阵可以分为三类,①n为奇数,②n为不能被4整除的偶数,③n为能被4整除的偶数。

2.本例使用第三种情况,即n为能被4整除的偶数,下面是编制的生成n阶魔方矩阵的函数magicmatrix(n)

image.png

3.下面是调用magicmatrix(n)函数生成的12阶魔方矩阵,调用代码为:magicmatrix(n) 。这里的n可以直接输入,当n能够被4整除时,则输出该n阶魔方矩阵,当n不能被4整除时,就要求重新输入n的值。下图是运行结果。

image.png

4.验证生成的矩阵是否是魔方矩阵?如果是,那矩阵的阶是多少,那每一行、列、对角线的和是多少呢?下面我们就对当n=12是生成的矩阵进行验证。下图是具体的程序代码:

image.png

5.4步代码实在matlabeditor里面编写的,直接点击菜单栏的run就可以运行。运行第4步的代码我们可以看到结果为:

image.png

6.PS

经考证表明:魔方源于古代的中国,当时称为“纵横图”。有学着认为“纵横图”源于《洛书》。“二九四,七五三,六一八”是文字记录的最早的3阶魔方矩阵,时称“九宫格”,它最早记载于公元前一世纪的《大戴礼记》“明堂篇”。公元1275年宋朝数学家杨辉在《续古摘奇算法》中就有关于“纵横图”的专门研究。“纵横图”经由东南亚、印度、阿拉伯向西方传播。公元15世纪再由土耳其的君世坦丁堡(现在的伊斯坦布尔)传入欧洲。