이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.
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
와 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
| table
| timetable
제수로, 스칼라, 벡터, 행렬, 다차원 배열, 테이블 또는 타임테이블로 지정됩니다. 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
| table
| timetable
세부 정보
나눗셈의 나머지 개념에 대한 정의는 유일하지 않으며, 두 함수 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.
확장 기능
mod
함수는 tall형 배열을 완전히 지원합니다. 자세한 내용은 tall형 배열 항목을 참조하십시오.
사용법 관련 참고 및 제한 사항:
출력값 클래스를 사용하여 산술 연산이 수행됩니다. 반올림 오차의 차이로 인해 결과가 MATLAB®과 일치하지 않을 수 있습니다.
입력값 중 하나의 유형이
int64
또는uint64
인 경우 두 입력값의 유형은 동일해야 합니다.
이 함수는 스레드 기반 환경을 완전히 지원합니다. 자세한 내용은 스레드 기반 환경에서 MATLAB 함수 실행하기 항목을 참조하십시오.
mod
함수는 GPU 배열을 완전히 지원합니다. GPU에서 이 함수를 실행하려면 입력 데이터를 gpuArray
(Parallel Computing Toolbox)로 지정하십시오. 자세한 내용은 GPU에서 MATLAB 함수 실행하기 (Parallel Computing Toolbox) 항목을 참조하십시오.
이 함수는 분산 배열을 완전히 지원합니다. 자세한 내용은 분산 배열을 사용하여 MATLAB 함수 실행 (Parallel Computing Toolbox) 항목을 참조하십시오.
버전 내역
R2006a 이전에 개발됨mod
함수는 테이블이나 타임테이블 내의 변수에 액세스하기 위한 인덱싱 없이 이러한 모든 변수에 대해 계산을 수행할 수 있습니다. 모든 변수는 계산을 지원하는 데이터형을 가져야 합니다. 자세한 내용은 테이블 및 타임테이블에 대해 직접 계산 항목을 참조하십시오.
참고 항목
MATLAB Command
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 사이트 방문이 최적화되지 않았습니다.
미주
- América Latina (Español)
- Canada (English)
- United States (English)
유럽
- 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)