作业帮 > 数学 > 作业

matlab magic函数横竖斜之和是如何确定的?

来源:学生作业帮 编辑:神马作文网作业帮 分类:数学作业 时间:2024/11/11 09:34:48
matlab magic函数横竖斜之和是如何确定的?
经过测试,n=1:8时,magic函数的每行和分别为1,5,15,34,65,111,175,260,这是为什么?为什么加总是这么多?比如n=3的时候也可以是每行加起来为9啊,这个数列是怎么算出来的吗?
matlab magic函数横竖斜之和是如何确定的?
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)生成的矩阵是不满足上面说的幻方要求的.