magic
幻方矩阵
说明
示例
三阶幻方矩阵
计算三阶幻方矩阵 M
。
M = magic(3)
M = 3×3
8 1 6
3 5 7
4 9 2
每列中元素的总和等于每行中元素的总和。
sum(M)
ans = 1×3
15 15 15
sum(M,2)
ans = 3×1
15
15
15
幻方矩阵可视化
使用 imagesc
观察 9 阶到 24 阶幻方矩阵的图案。这些图案表明 magic
使用三种不同的算法,取决于 mod(n,4)
的值是 0、2 还是奇数。
for n = 1:16 subplot(4,4,n) ord = n+8; m = magic(ord); imagesc(m) title(num2str(ord)) axis equal axis off end
输入参数
n
— 矩阵的阶次
整数标量
矩阵的阶次,指定为大于或等于 3 的整数标量。如果 n
是复数,不是整数,也不是标量,则 magic
会使用 floor(real(double(n(1))))
将其转换为可使用的整数。
如果您提供的 n
小于 3
,则 magic
将返回非幻方矩阵或退化幻方矩阵 1
和 []
。
数据类型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
| char
扩展功能
C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。
基于线程的环境
使用 MATLAB® backgroundPool
在后台运行代码或使用 Parallel Computing Toolbox™ ThreadPool
加快代码运行速度。
此函数完全支持基于线程的环境。有关详细信息,请参阅在基于线程的环境中运行 MATLAB 函数。
版本历史记录
在 R2006a 之前推出
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)