10阶幻方:Strachey方法详解

MATLAB 构造 10 阶幻方(Strachey 方法)

幻方与 Strachey 方法简介

幻方是一种将数字填入正方形格子中,使得每一行、每一列及两条对角线上的数字之和均相等的数学构造。Strachey 方法是生成单偶数阶幻方(如 10 阶)的经典算法,通过将幻方划分为四个子块并利用奇阶幻方的性质组合而成。

Strachey 方法的核心步骤

  1. 划分四个子块
    将 10 阶方阵划分为四个 5×5 的子块,分别标记为 A、B、C、D。子块 A 和 D 位于左上和右下,B 和 C 位于右上和左下。

  2. 填充子块 A 和 D
    使用 Siamese 方法生成 5 阶幻方填充子块 A。子块 D 通过子块 A 的每个元素加上 2 * n^2(此处 n=5,即 50)生成。
    例如:

    A = magic(5);       % 生成 5 阶幻方
    D = A + 50;         % 子块 D 为 A 中元素加 50
    
  3. 填充子块 B 和 C
    子块 B 和 C 分别通过子块 A 和 D 的列交换规则生成。具体操作是:将子块 A 的第 1 列与中间列交换后加 n^2(即 25)得到子块 B;子块 C 由子块 D 的第 1 列与中间列交换后减 25 得到。

    B = A(:,[2 1 3:5]) + 25;   % 交换第 1 列与第 2 列后加 25
    C = D(:,[2 1 3:5]) - 25;   % 交换第 1 列与第 2 列后减 25
    
  4. 调整中心元素
    交换子块 A 和 D 的中心元素以确保对角线和的正确性:

    A(3,3) = D(3,3);    % 交换 A 和 D 的中心元素
    D(3,3) = A(3,3) - 50;
    
  5. 合并子块
    将四个子块按位置组合为 10 阶幻方:

    magic10 = [A B; C D];
    

完整 MATLAB 代码实现

function M = strachey_magic_10()
    % 生成子块 A(5 阶幻方)
    A = magic(5);
    
    % 生成子块 D(A + 50)
    D = A + 50;
    
    % 生成子块 B(交换 A 的第 1 列与第 2 列后加 25)
    B = A(:, [2 1 3:5]) + 25;
    
    % 生成子块 C(交换 D 的第 1 列与第 2 列后减 25)
    C = D(:, [2 1 3:5]) - 25;
    
    % 调整中心元素
    temp = A(3, 3);
    A(3, 3) = D(3, 3);
    D(3, 3) = temp;
    
    % 合并子块
    M = [A B; C D];
end

验证幻方性质

通过计算行、列及对角线之和验证生成的 10 阶幻方是否正确:

M = strachey_magic_10();
row_sums = sum(M, 2);          % 各行和
col_sums = sum(M, 1);          % 各列和
diag_sum1 = trace(M);          % 主对角线和
diag_sum2 = trace(fliplr(M));  % 副对角线和

注意事项

  • Strachey 方法适用于单偶数阶幻方(如 6、10、14 等)。
  • 列交换规则是方法的关键,需严格遵循交换第 1 列与第 2 列的操作。
  • 中心元素的调整保证了主对角线和的一致性。

BbS.okacop081.info/PoSt/1120_621327.HtM
BbS.okacop082.info/PoSt/1120_442550.HtM
BbS.okacop083.info/PoSt/1120_959247.HtM
BbS.okacop084.info/PoSt/1120_337670.HtM
BbS.okacop085.info/PoSt/1120_012133.HtM
BbS.okacop086.info/PoSt/1120_203234.HtM
BbS.okacop087.info/PoSt/1120_314725.HtM
BbS.okacop088.info/PoSt/1120_532768.HtM
BbS.okacop090.info/PoSt/1120_231315.HtM
BbS.okacop091.info/PoSt/1120_541512.HtM
BbS.okacop081.info/PoSt/1120_282682.HtM
BbS.okacop082.info/PoSt/1120_174351.HtM
BbS.okacop083.info/PoSt/1120_638750.HtM
BbS.okacop084.info/PoSt/1120_588285.HtM
BbS.okacop085.info/PoSt/1120_038288.HtM
BbS.okacop086.info/PoSt/1120_567451.HtM
BbS.okacop087.info/PoSt/1120_318300.HtM
BbS.okacop088.info/PoSt/1120_501658.HtM
BbS.okacop090.info/PoSt/1120_271460.HtM
BbS.okacop091.info/PoSt/1120_112365.HtM
BbS.okacop081.info/PoSt/1120_572183.HtM
BbS.okacop082.info/PoSt/1120_723372.HtM
BbS.okacop083.info/PoSt/1120_373095.HtM
BbS.okacop084.info/PoSt/1120_714469.HtM
BbS.okacop085.info/PoSt/1120_279659.HtM
BbS.okacop086.info/PoSt/1120_042438.HtM
BbS.okacop087.info/PoSt/1120_083570.HtM
BbS.okacop088.info/PoSt/1120_463618.HtM
BbS.okacop090.info/PoSt/1120_568975.HtM
BbS.okacop091.info/PoSt/1120_551084.HtM
BbS.okacop092.info/PoSt/1120_271320.HtM
BbS.okacop093.info/PoSt/1120_324029.HtM
BbS.okacop094.info/PoSt/1120_989590.HtM
BbS.okacop095.info/PoSt/1120_689876.HtM
BbS.okacop096.info/PoSt/1120_337575.HtM
BbS.okacop097.info/PoSt/1120_791983.HtM
BbS.okacop098.info/PoSt/1120_926302.HtM
BbS.okacop099.info/PoSt/1120_283589.HtM
BbS.okacop114.info/PoSt/1120_111591.HtM
BbS.okacop829.info/PoSt/1120_737567.HtM
BbS.okacop092.info/PoSt/1120_679541.HtM
BbS.okacop093.info/PoSt/1120_907748.HtM
BbS.okacop094.info/PoSt/1120_618922.HtM
BbS.okacop095.info/PoSt/1120_908908.HtM
BbS.okacop096.info/PoSt/1120_866633.HtM
BbS.okacop097.info/PoSt/1120_508346.HtM
BbS.okacop098.info/PoSt/1120_884276.HtM
BbS.okacop099.info/PoSt/1120_050840.HtM
BbS.okacop114.info/PoSt/1120_826265.HtM
BbS.okacop829.info/PoSt/1120_698563.HtM
BbS.okacop092.info/PoSt/1120_645420.HtM
BbS.okacop093.info/PoSt/1120_378889.HtM
BbS.okacop094.info/PoSt/1120_587066.HtM
BbS.okacop095.info/PoSt/1120_557388.HtM
BbS.okacop096.info/PoSt/1120_162499.HtM
BbS.okacop097.info/PoSt/1120_462637.HtM
BbS.okacop098.info/PoSt/1120_995840.HtM
BbS.okacop099.info/PoSt/1120_295261.HtM
BbS.okacop114.info/PoSt/1120_994356.HtM
BbS.okacop829.info/PoSt/1120_228200.HtM
BbS.okacop092.info/PoSt/1120_391535.HtM
BbS.okacop093.info/PoSt/1120_167324.HtM
BbS.okacop094.info/PoSt/1120_801402.HtM
BbS.okacop095.info/PoSt/1120_682855.HtM
BbS.okacop096.info/PoSt/1120_199577.HtM
BbS.okacop097.info/PoSt/1120_101024.HtM
BbS.okacop098.info/PoSt/1120_879121.HtM
BbS.okacop099.info/PoSt/1120_832621.HtM
BbS.okacop114.info/PoSt/1120_891379.HtM
BbS.okacop829.info/PoSt/1120_615235.HtM
BbS.okacop092.info/PoSt/1120_908087.HtM
BbS.okacop093.info/PoSt/1120_873541.HtM
BbS.okacop094.info/PoSt/1120_076481.HtM
BbS.okacop095.info/PoSt/1120_900879.HtM
BbS.okacop096.info/PoSt/1120_476499.HtM
BbS.okacop097.info/PoSt/1120_350595.HtM
BbS.okacop098.info/PoSt/1120_643213.HtM
BbS.okacop099.info/PoSt/1120_902231.HtM
BbS.okacop114.info/PoSt/1120_942846.HtM
BbS.okacop829.info/PoSt/1120_504436.HtM

#牛客AI配图神器#

全部评论

相关推荐

11-13 12:02
门头沟学院 Java
点赞 评论 收藏
分享
赛博小保安:你这简历没啥大问题的,经历技能也足够了,问题应该就是出在出身了,学院本就是这样,HR忙着跟92的勾搭呢,哪有心思看我们这些双非😿😭
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务