| MATLAB Function Reference | ![]() |
表示
M=magic(n)
詳細
M = magic(n)
は、1 から n^2 までの整数を使って、列方向と行方向の和が等しくなる n 行 n 列の行列を作成します。n は、3 以上のスカラでなければいけません。
注意
魔方陣は、その和によってスケーリングされた"doubly stochastic"です。
例題
M=magic(3) M = 8 1 6 3 5 7492
sum(M)=151515
そして、2度の転置を行うことで、各行の要素についても和が等しいことがわかります。
sum(M')'=151515
sum(diag(M)) =
15
sum(1:n^2)/n
アルゴリズム
n に対してn で、4の倍数でないものに対してn で、4の倍数のものに対して forn=3:20A=magic(n);plot(A,'-');r(n)=rank(A); end r
制限
n が 3 より小さい場合、magic は魔方陣ではない行列、または、 1 や [] を出力します。/p>
参考
| luinc | mat2str | ![]() |