matlab中“magic(3)”是什么意思?

供稿:hz-xin.com     日期:2025-01-14
matlab中magic(3)是啥意思

三阶魔方矩阵。三阶魔方矩阵的九个数字是各行各列的和都相等的!
比如:magic(3)
ans =
8 1 6
3 5 7
4 9 2

magic(n)生成一个n阶幻方。

一个n阶幻方,就是把1-n^2排成一个nxn的矩阵,使得矩阵的每行、每列,以及主、副对角线上面的n个数之和都相等(容易证明,这个和等于n*(n^2+1)/2)。

射雕英雄传里面的瑛姑,就在那里摆弄一个三阶幻方,搞了好几年没搞明白,这金大侠把她写的也有点太蠢了。

M = magic(n)
生成一个n*n的矩阵,矩阵元素是由整数1到n^2组成的并且任何行任何列的和都相等,阶数n必须是大于等于3的标量。 三阶幻方为:
M = magic(3)

M =

8 1 6
3 5 7
4 9 2
之所以叫做幻方是因为它的每一列的和是相同的。
sum(M) =

15 15 15
计算每一行的和,包含两次转置也是相同的。

www.iLoveMatlab.cn

sum(M')' =

15
15
15
这是一个特殊的幻方因为其对角线元素和也是这个相等和。
sum(diag(M)) =

15

一个n阶幻方的特有的和值计算公式为:
sum(1:n^2)/n
易知:当n=3时,其特有的和为15。

magic[英][ˈmædʒɪk][美][ˈmædʒɪk]
n.魔法; 巫术; 戏法; 不可思议的魔力;
adj.魔术的; 幻术的; 不可思议的; 有奇异魔力的;
v.用魔法变出; 用魔法摆脱; 用魔法得到; 使中邪;
第三人称单数:magics过去分词:magicked现在进行时:magicking过去式:magicked
易混淆单词:MagicMAGIC