Main Content

gcd

최대공약수(Greatest Common Divisor)

설명

G = gcd(A,B)AB 요소의 최대공약수를 반환합니다. G의 요소는 항상 음수가 아니며, gcd(0,0)0을 반환합니다. 이 구문은 모든 숫자 형식의 입력값을 지원합니다.

예제

[G,U,V] = gcd(A,B)는 다음을 충족하는 베주 계수(Bézout Coefficient) UV를 반환합니다. A.*U + B.*V = G. 베주 계수(Bézout Coefficient)는 디오판투스 방정식(Diophantine Equation)을 푸는 데 유용합니다. 이 구문은 double형, single형 및 부호 있는 정수 입력값을 지원합니다.

예제

예제

모두 축소

A = [-5 17; 10 0];
B = [-15 3; 100 0];
G = gcd(A,B)
G = 2×2

     5     1
    10     0

gcd는 입력값이 음수인 경우에도 양의 값을 반환합니다.

A = uint16([255 511 15]);
B = uint16([15 127 1023]);
G = gcd(A,B)
G = 1x3 uint16 row vector

   15    1    3

xy에 대한 디오판투스 방정식 30x+56y=8을 풉니다.

3056의 최대공약수와 베주 계수(Bézout Coefficient) 쌍을 구합니다.

[g,u,v] = gcd(30,56)
g = 
2
u = 
-13
v = 
7

uv는 베주의 항등식(Bézout's Identity) (30*u) + (56*v) = g를 충족합니다.

베주의 항등식을 원래의 방정식에 가깝도록 다시 작성합니다. 여기서는 4를 곱해야 합니다. ==를 사용하여 방정식의 양변이 동일한지 확인합니다.

(30*u*4) + (56*v*4) == g*4
ans = logical
   1

문제를 푸는 xy의 값을 계산합니다.

x = u*4
x = 
-52
y = v*4
y = 
28

입력 인수

모두 축소

입력값으로, 스칼라, 벡터, 실수형 정수 값으로 구성된 배열 중 하나로 지정됩니다. AB는 숫자 형식일 수 있으며, 특정 제한 사항 내에서 서로 다른 유형이 될 수 있습니다.

  • A 또는 Bsingle형인 경우 나머지 하나는 single형 또는 double형일 수 있습니다.

  • A 또는 B가 정수 클래스에 속하는 경우 나머지 하나는 동일한 클래스에 속하거나 double형 스칼라 값이어야 합니다.

AB는 동일한 크기이거나 한쪽이 스칼라여야 합니다.

예: [20 -3 13],[10 6 7]

예: int16([100 -30 200]),int16([20 15 9])

예: int16([100 -30 200]),20

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

출력 인수

모두 축소

최대공약수로, 음수가 아닌 실수형 정수 값으로 구성된 배열로 반환됩니다. GAB와 크기가 같으며, G의 값은 항상 음이 아닌 실수입니다. GAB와 동일한 유형으로 반환됩니다. AB의 데이터형이 다르면 G는 비double형으로 반환됩니다.

베주 계수(Bézout Coefficient)로, 방정식 A.*U + B.*V = G를 충족하는 실수형 정수 값으로 구성된 배열로 반환됩니다. UV의 데이터형은 AB의 데이터형과 동일합니다. AB가 다른 유형인 경우 UV는 비double형으로 반환됩니다.

알고리즘

g = gcd(A,B)는 유클리드 알고리즘을 사용하여 계산됩니다.[1]

[g,u,v] = gcd(A,B)는 확장된 유클리드 알고리즘을 사용하여 계산됩니다.[1]

참고 문헌

[1] Knuth, D. “Algorithms A and X.” The Art of Computer Programming, Vol. 2, Section 4.5.2. Reading, MA: Addison-Wesley, 1973.

확장 기능

C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.

버전 내역

R2006a 이전에 개발됨

참고 항목