이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.
mod
나눗셈의 나머지(모듈로 연산)
설명
예제
스칼라에 대한 나눗셈의 나머지
벡터에 대한 나눗셈의 나머지
양수 값과 음수 값에 대한 나눗셈의 나머지
양수 값과 음수 값을 모두 포함한 정수 집합에 대해 나눗셈을 수행한 후의 나머지를 구합니다. 참고로, 제수가 양수인 경우 0이 아닌 결과는 항상 양수입니다.
a = [-4 -1 7 9]; m = 3; b = mod(a,m)
b = 1×4
2 2 1 0
제수가 음수인 경우 나눗셈의 나머지
양수 값과 음수 값을 모두 포함한 정수 집합을 음수인 제수로 나눈 후의 나머지를 구합니다. 참고로, 제수가 음수인 경우 0이 아닌 결과는 항상 음수입니다.
a = [-4 -1 7 9]; m = -3; b = mod(a,m)
b = 1×4
-1 -1 -2 0
부동소수점 값에 대한 나눗셈의 나머지
2*pi
로 모듈로 연산을 수행하여 여러 각도를 나눈 결과인 나머지를 구합니다. 참고로, mod
는 부동소수점 반올림 효과를 보완하여 가능하면 정확한 정수 결과를 도출하려고 합니다.
theta = [0.0 3.5 5.9 6.2 9.0 4*pi]; m = 2*pi; b = mod(theta,m)
b = 1×6
0 3.5000 5.9000 6.2000 2.7168 0
입력 인수
a
— 피제수
스칼라 | 벡터 | 행렬 | 다차원 배열
피제수로, 스칼라, 벡터, 행렬, 다차원 배열 중 하나로 지정됩니다. a
는 임의 숫자형의 실수 값 배열이어야 합니다. 입력 인수 a
와 m
은 동일한 크기이거나 호환되는 크기를 가져야 합니다. 후자의 예로는 a
가 M
×N
행렬이고 m
이 스칼라이거나 1
×N
행 벡터인 경우를 들 수 있습니다. 자세한 내용은 기본 연산에 대해 호환되는 배열 크기 항목을 참조하십시오.
a
가 duration
형 배열이고 m
이 숫자형 배열이면 m
의 값은 24시간 일수로 처리됩니다.
두 입력값 중 하나가 정수 데이터형인 경우 다른 입력값도 동일하게 정수 데이터형이거나 또는 double
형 스칼라여야 합니다.
데이터형: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
| duration
| char
m
— 제수
스칼라 | 벡터 | 행렬 | 다차원 배열
제수로, 스칼라, 벡터, 행렬, 다차원 배열 중 하나로 지정됩니다. m
은 임의 숫자형의 실수 값 배열이어야 합니다. 입력 인수 a
와 m
은 동일한 크기이거나 호환되는 크기를 가져야 합니다. 후자의 예로는 a
가 M
×N
행렬이고 m
이 스칼라이거나 1
×N
행 벡터인 경우를 들 수 있습니다. 자세한 내용은 기본 연산에 대해 호환되는 배열 크기 항목을 참조하십시오.
m
이 duration
형 배열이고 a
가 숫자형 배열이면 a
의 값은 24시간 일수로 처리됩니다.
두 입력값 중 하나가 정수 데이터형인 경우 다른 입력값도 동일하게 정수 데이터형이거나 또는 double
형 스칼라여야 합니다.
데이터형: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
| duration
| char
세부 정보
mod와 rem 간의 차이점
나눗셈의 나머지 개념에 대한 정의는 유일하지 않으며, 두 함수 mod
와 rem
은 각각 다른 정의에 따라 계산합니다. mod
함수는 0이거나 제수와 동일한 부호를 갖는 결과를 산출합니다. 반면 rem
함수는 0이거나 피제수와 동일한 부호를 갖는 결과를 산출합니다.
또 다른 차이점은 제수가 0일 때의 규칙입니다. mod
함수는 mod(a,0)
이 a
를 반환한다는 규칙을 따르는 반면, rem
함수는 rem(a,0)
이 NaN
을 반환한다는 규칙을 따릅니다.
두 형식 모두 각각의 효용이 있습니다. 예를 들어, mod
함수는 그 출력값이 주기적(주기는 제수와 같음)이므로 신호 처리의 주기 신호의 맥락에서 유용합니다.
합동 관계
mod
함수는 합동 관계에 유용합니다. 즉, a
와 b
는 mod(a,m) == mod(b,m)
인 경우에만 합동(mod m)입니다. 예를 들어, 23과 13은 mod 5에 대해 합동입니다.
참고 문헌
[1] Knuth, Donald E. The Art of Computer Programming. Vol. 1. Addison Wesley, 1997 pp.39–40.
확장 기능
tall형 배열
메모리에 담을 수 없을 정도로 많은 행을 가진 배열을 계산할 수 있습니다.
이 함수는 tall형 배열을 완전히 지원합니다. 자세한 내용은 tall형 배열 항목을 참조하십시오.
C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.
사용법 관련 참고 및 제한 사항:
출력값 클래스를 사용하여 산술 연산이 수행됩니다. 반올림 오차의 차이로 인해 결과가 MATLAB®과 일치하지 않을 수 있습니다.
입력값 중 하나의 유형이
int64
또는uint64
인 경우 두 입력값의 유형은 동일해야 합니다.
스레드 기반 환경
MATLAB®의 backgroundPool
을 사용해 백그라운드에서 코드를 실행하거나 Parallel Computing Toolbox™의 ThreadPool
을 사용해 코드 실행 속도를 높일 수 있습니다.
이 함수는 스레드 기반 환경을 완전히 지원합니다. 자세한 내용은 스레드 기반 환경에서 MATLAB 함수 실행하기 항목을 참조하십시오.
GPU 배열
Parallel Computing Toolbox™를 사용해 GPU(그래픽스 처리 장치)에서 실행하여 코드 실행 속도를 높일 수 있습니다.
사용법 관련 참고 및 제한 사항:
64비트 정수는 지원되지 않습니다.
자세한 내용은 GPU에서 MATLAB 함수 실행하기 (Parallel Computing Toolbox) 항목을 참조하십시오.
분산 배열
Parallel Computing Toolbox™를 사용하여 대규모 배열을 클러스터의 결합된 메모리에 걸쳐 분할할 수 있습니다.
이 함수는 분산 배열을 완전히 지원합니다. 자세한 내용은 분산 배열을 사용하여 MATLAB 함수 실행 (Parallel Computing Toolbox) 항목을 참조하십시오.
버전 내역
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)