用matlab创建n阶魔方矩阵

 时间:2024-10-28 20:36:04

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

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

用matlab创建n阶魔方矩阵

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

用matlab创建n阶魔方矩阵

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

用matlab创建n阶魔方矩阵

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

用matlab创建n阶魔方矩阵

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

  • matlab中e怎么输入
  • matlab中怎么求矩阵的秩
  • matlab怎么生成随机矩阵
  • matlab怎么求矩阵的乘积
  • 请教各位怎样用matlab定义一个分段函数
  • 热门搜索
    手足口病怎么治疗 香蕉饼的家常做法 电脑内存不足怎么清理 西芹的做法大全 喝醉了怎么解酒最快 肉丸子汤的家常做法 羊肉馅饺子怎么调馅 邗怎么读 电子邮件怎么注册 湿气重的人怎么排湿