Matlab魔方矩阵的创建及逻辑矩阵的用法

本文介绍了如何使用Matlab创建魔方矩阵,特别是针对n为能被4整除的偶数的情况。通过逻辑矩阵的操作,详细解释了代码过程,包括如何利用逻辑阵G和K来构建魔方矩阵,并展示了当n=4时的实例,展示逻辑矩阵在更新矩阵A中的作用,最终得出完整的魔方矩阵。
摘要由CSDN通过智能技术生成

Matlab魔方矩阵的创建及逻辑矩阵的用法

前言

看书上关于n阶魔方矩阵创建的例题的时候,对逻辑矩阵的相关语句产生了些疑惑,解决以后感觉有点意思,记录一下

一、魔方矩阵

魔方矩阵(magic matrix),是指由1~ n 2 n^2 n2的正整数按照一定规则排列而成,且每行每列、每对角线的和都等于 n ( n 2 + 1 ) 2 \frac{n(n^2+1)}{2} 2n(n2+1)

就生成规则而言,魔方矩阵可分为三类:1. n为奇数;2. n为不能被4整除的偶数;3. n为能被4整除的偶数。这里只讨论第三种情况。

二、代码部分

代码如下:

n=4; % n为任何能被4整除的整数,这里取4使阶数不大更好阐述
G=logical(eye(4,4)+rot90(eye(4,4))); %注意这里生成的是逻辑阵!
m=n/4;
K=repmat(G,m,m); %repmat以指定的行列铺放模块数组,这里得到需要“补运算”的元素位置阵
N=n^2;
A=reshape(1:N,n,n); %1~N个数字按顺序从列方向上一个个放过去生成一个n*n阵
A(K)=N-A(K)+1 %最后输出的是“补运算”过的A阵,即魔方矩阵

这里先列出,取n=4时,未进行第7行前G、K、A的值:

逻辑阵G =K=
( 1 0 0 1 0 1 1 0 0 1 1 0

  • 4
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值