MATLAB 도움말 센터
마방진(Magic Square)
M = magic(n)
M = magic(n)은 행과 열의 합계가 동일하고 1 ~ n2 범위의 정수로 생성된 n×n 행렬을 반환합니다. 유효한 마방진을 만들려면 차수 n은 3보다 크거나 같은 스칼라여야 합니다.
n
1
3
예제
모두 축소
3차 마방진 M을 계산합니다.
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 또는 홀수인지에 따라 세 가지 다른 알고리즘을 사용한다는 것을 보여줍니다.
imagesc
magic
mod(n,4)
for n = 1:16 subplot(4,4,n) ord = n+8; m = magic(ord); imagesc(m) title(num2str(ord)) axis equal axis off end
행렬 차수로, 3보다 크거나 같은 정수 스칼라로 지정됩니다. n이 정수나 스칼라가 아니거나 복소수이면 magic은 이것을 floor(real(double(n(1))))과 함께 사용할 수 있는 정수로 변환합니다.
floor(real(double(n(1))))
n을 3보다 작게 지정하면 magic은 마방진이 아닌 정사각 행렬이나, 퇴화된(Degenerate) 마방진인 1과 []을 반환합니다.
[]
데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char
single
double
int8
int16
int32
int64
uint8
uint16
uint32
uint64
logical
char
모두 확장
사용법 관련 참고 및 제한 사항:
코드 생성 시 입력 인수 n은 상수여야 합니다.
backgroundPool
ThreadPool
이 함수는 스레드 기반 환경을 완전히 지원합니다. 자세한 내용은 스레드 기반 환경에서 MATLAB 함수 실행하기 항목을 참조하십시오.
R2006a 이전에 개발됨
ones | rand
ones
rand
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
웹사이트 선택
번역된 콘텐츠를 보고 지역별 이벤트와 혜택을 살펴보려면 웹사이트를 선택하십시오. 현재 계신 지역에 따라 다음 웹사이트를 권장합니다:
또한 다음 목록에서 웹사이트를 선택하실 수도 있습니다.
사이트 성능 최적화 방법
최고의 사이트 성능을 위해 중국 사이트(중국어 또는 영어)를 선택하십시오. 현재 계신 지역에서는 다른 국가의 MathWorks 사이트 방문이 최적화되지 않았습니다.
미주
유럽
아시아 태평양
지역별 지사에 문의