matlab magic函数横竖斜之和是如何确定的?经过测试,n=1:8时,magic函数的每行和分别为1,5,15,34,65,111,175,260,这是为什么?为什么加总是这么多?比如n=3的时候也可以是每行加起来为9啊,这个数列是怎么

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/05 23:53:54

matlab magic函数横竖斜之和是如何确定的?经过测试,n=1:8时,magic函数的每行和分别为1,5,15,34,65,111,175,260,这是为什么?为什么加总是这么多?比如n=3的时候也可以是每行加起来为9啊,这个数列是怎么
matlab magic函数横竖斜之和是如何确定的?
经过测试,n=1:8时,magic函数的每行和分别为1,5,15,34,65,111,175,260,这是为什么?为什么加总是这么多?比如n=3的时候也可以是每行加起来为9啊,这个数列是怎么算出来的吗?

matlab magic函数横竖斜之和是如何确定的?经过测试,n=1:8时,magic函数的每行和分别为1,5,15,34,65,111,175,260,这是为什么?为什么加总是这么多?比如n=3的时候也可以是每行加起来为9啊,这个数列是怎么
magic是把1-n^2这样n^2个数排成nxn的矩阵,使得该矩阵每行、每列,以及主、副对角线的和都相等.这样我们把1-n^2求和,然后除以n就是每行(或每列)的和了.

1-n^2求和得到n^2*(n^2+1)/2,处以n得到n*(n^2+1)/2,把n=1~8代入,就得到你上面的那些数了.
syms k n
s=symsum(k,1,n^2)/n
subs(s,n,1:8)

不过,其实对于n=2,magic(2)生成的矩阵是不满足上面说的幻方要求的.