MATLAB之家

专注于收录分享MATLAB代码、技巧、经验!
当前位置:网站首页 / MATLAB基础 / 正文

用matlab创建n阶魔方矩阵

2017-05-24 / MATLAB基础 / 5672 次围观 / 0 次吐槽

所谓魔方矩阵就是每一行的元素之和都相等,每一列之和都相等,对角线元素之和也相等的矩阵。这种矩阵在数学中有着特殊的应用。本经验就像大家讲解一下如何创建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世纪再由土耳其的君世坦丁堡(现在的伊斯坦布尔)传入欧洲。


推荐您阅读更多有关于“MATLAB之家matlabn阶魔方矩阵,”的文章

请在这里放置你的在线分享代码
本站所有文章如无特别注明均为原创。作者: ,复制或转载请以超链接形式注明转自 MATLAB之家
原文地址《用matlab创建n阶魔方矩阵
额 本文暂时没人评论 来添加一个吧

发表评论

必填

选填

选填

必填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Powered By Z-BlogPHP,Theme By zblog模板

Copyright©2021. MatlabHome All Rights Reserved. 蜀ICP备15004325号-1

分享:

支付宝

微信

扫一扫,想赞多少就多少~