magic
마방진(Magic Square)
설명
예제
3차 마방진
3차 마방진 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
은 마방진이 아닌 정사각 행렬이나, 퇴화된(Degenerate) 마방진인 1
과 []
을 반환합니다.
데이터형: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
| char
확장 기능
C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.
사용법 관련 참고 및 제한 사항:
Variable-Sizing Restrictions for Code Generation of Toolbox Functions (MATLAB Coder) 항목을 참조하십시오.
스레드 기반 환경
MATLAB®의 backgroundPool
을 사용해 백그라운드에서 코드를 실행하거나 Parallel Computing Toolbox™의 ThreadPool
을 사용해 코드 실행 속도를 높일 수 있습니다.
이 함수는 스레드 기반 환경을 완전히 지원합니다. 자세한 내용은 스레드 기반 환경에서 MATLAB 함수 실행하기 항목을 참조하십시오.
버전 내역
R2006a 이전에 개발됨
MATLAB 명령
다음 MATLAB 명령에 해당하는 링크를 클릭했습니다.
명령을 실행하려면 MATLAB 명령 창에 입력하십시오. 웹 브라우저는 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)