📄 创建n阶魔方矩阵,限定条件是n为能被4整除的偶数。.txt
字号:
创建n阶魔方矩阵,限定条件是n为能被4整除的偶数。
(1)所谓魔方矩阵(Magic matrix),是指那矩阵由1到 的正整数按照一定规则排列而成,并且每列、每行、每条对角线元素的和都等于 。就生成规则而言,魔方矩阵可分成三类:一,n为奇数;二,n为不能被4整除的偶数;三,n为能被4整除的偶数。
(2)
% exm060105.m 生成一类魔方矩阵,该魔方矩阵的阶n 为能被4整除的偶数。
% A 为魔方矩阵
% n 魔方矩阵的阶数
clear
clc
while 1 %<6>
n=input('请输入一个能被4整除的正整数! n = ');
if mod(n,4)==0 %<8>
break %<9>
end %<10>
end %<11>
G=logical(eye(4,4)+rot90(eye(4,4)));
m=n/4;
K=repmat(G,m,m);
N=n^2;
A=reshape(1:N,n,n);
A(K)=N-A(K)+1
(3)
(4)
(5)
s0=round(n*(n*n+1)/2);
disp([int2str(n),' 阶魔方矩阵的标称和是 ',int2str(s0)])
Ns0=round(2*(n+1));
B=A';
SC=sum(A);
SR=sum(B);
Sd=sum(diag(A));
Sdi=sum(diag(B));
LS=[SC,SR,Sd,Sdi]==s0;
NS=round(sum(LS));
if NS==Ns0
disp('经验证,A是魔方矩阵。')
else
disp('经验证,A不是魔方矩阵。')
end
12 阶魔方矩阵的标称和是 870
经验证,A是魔方矩阵。
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -