魔方函数

优质
小牛编辑
131浏览
2023-12-01

实际上MATLAB提供了一个函数可以计算出任意规格的魔方矩阵,毫不奇怪,这个函数就是magic.

    B = magic(4)
    B =
        16     2     3    13
         5    11    10     8
         9     7     6    12
         4    14    15     1
    

与刻在杜勒的木板上的那个矩阵差不多一样,具有相同的性质。它们的区别在于中间的两列调换了位置。为了得到木板画中的矩阵A,我们调换B中间的两列

    A = B(:,[1 3 2 4])
    

上述表达式表示对于矩阵B的每一行,将其列的顺序按照‘1,3,2,4’重新编排,即得到

    A =
        16     3     2    13
         5    10    11     8
         9     6     7    12
         4    15    14     1
    

为什么杜勒既然可以用MATLAB提供的排序,他还会在重新调整列向量时遇到麻烦呢?无疑是因为他想把雕刻画的创作年份1514放到魔方的底部的缘故。