
上QQ阅读APP看书,第一时间看更新
7.magic函数
magic函数用于生成魔方矩阵。函数的语法格式为:
M=magic(n):返回由1到n2之间的整数构成的并且总行数和总列数相等的n×n矩阵。阶次n必须为大于或等于3的标量。
魔方矩阵的阶次,指定为大于或等于3的整数标量。如果n是复数,不是整数,也不是标量,则magic会使用floor(real(double(n(1))))将其转换为可使用的整数。
如果我们提供的n小于3,则magic将返回非魔方矩阵或退化魔方矩阵1和[]。
【例1-7】使用imagesc观察9阶到24阶魔方矩阵的图案。这些图案表明magic使用了三种不同的算法,取决于mod(n,4)的值是0、2还是奇数。

运行程序,效果如图1-3所示。

图1-3 不同阶数的魔方矩阵的图案