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)