factor
인수분해
설명
는 하나 이상의 F
= factor(___,Name,Value
)Name,Value
쌍 인수로 지정된 추가 옵션을 사용합니다. 이 구문은 위에 열거된 구문의 모든 입력 인수를 사용할 수 있습니다.
예제
정수 인수분해하기
F = factor(823429252)
F = 2 2 59 283 12329
flintmax
보다 큰 정수를 인수분해하려면 sym
을 사용하여 정수를 기호 객체로 변환하십시오. 그런 다음 정확하게 나타내기 위해 숫자를 따옴표로 묶습니다.
F = factor(sym('82342925225632328'))
F = [ 2, 2, 2, 251, 401, 18311, 5584781]
음의 정수를 인수분해하려면 sym
을 사용하여 기호 객체로 변환하십시오.
F = factor(sym(-92465))
F = [ -1, 5, 18493]
큰 수를 소인수분해하기
41758540882408627201
을 소인수분해합니다. 정수가 flintmax
보다 크므로 sym
을 사용하여 기호 객체로 변환하고, 그 값을 정확하게 나타내기 위해 숫자를 따옴표로 묶습니다.
n = sym('41758540882408627201'); factor(n)
ans = [ 479001599, 87178291199]
기호 분수 인수분해하기
sym
을 통해 분수 112/81
를 기호 객체로 변환하여 인수분해합니다.
F = factor(sym(112/81))
F = [ 2, 2, 2, 2, 7, 1/3, 1/3, 1/3, 1/3]
다항식 인수분해하기
다항식 x^6-1
을 인수분해합니다.
syms x
F = factor(x^6-1)
F = [ x - 1, x + 1, x^2 + x + 1, x^2 - x + 1]
다항식 y^6-x^6
을 인수분해합니다.
syms y
F = factor(y^6-x^6)
F = [ -1, x - y, x + y, x^2 + x*y + y^2, x^2 - x*y + y^2]
지정된 변수를 포함하는 인수 분리하기
x
를 포함하는 인수에 대해 y^2*x^2
을 인수분해합니다.
syms x y F = factor(y^2*x^2,x)
F = [ y^2, x, x]
factor
는 x
가 없는 모든 인수를 첫 번째 요소에 결합합니다. F
의 나머지 요소에는 x
를 포함하는 기약 인수가 있습니다.
기호 변수 b
및 c
를 포함하는 인수에 대해 다항식 y
를 인수분해합니다.
syms a b c d y = -a*b^5*c*d*(a^2 - 1)*(a*d - b*c); F = factor(y,[b c])
F = [ -a*d*(a - 1)*(a + 1), b, b, b, b, b, c, a*d - b*c]
factor
는 b
또는 c
가 없는 모든 인수를 F
의 첫 번째 요소에 결합합니다. F
의 나머지 요소에는 b
또는 c
가 포함된 y
의 기약 인수가 있습니다.
인수분해 모드 선택하기
FactorMode
인수를 사용하여 특정 인수분해 모드를 선택합니다.
인수분해 모드를 지정하지 않고 표현식을 인수분해합니다. 기본적으로 factor
는 유리수에 대한 인수분해를 사용합니다. 이 모드에서 factor
는 유리수를 정확한 기호 형식으로 유지합니다.
syms x factor(x^3 + 2, x)
ans = x^3 + 2
이번에는 실수에 대한 수치적 인수분해를 사용하여 동일한 표현식을 인수분해합니다. 이 모드에서는 표현식을 실수 계수가 있는 1차 및 2차 기약 다항식으로 인수분해하고 모든 숫자형 값을 부동소수점 숫자로 변환합니다.
factor(x^3 + 2, x, 'FactorMode', 'real')
ans = [ x + 1.2599210498948731647672106072782,... x^2 - 1.2599210498948731647672106072782*x + 1.5874010519681994747517056392723]
복소수에 대한 인수분해를 사용하여 이 표현식을 인수분해합니다. 이 모드에서 factor
는 2차 다항식을 복소수 계수가 있는 1차 표현식으로 축약합니다. 이 모드는 모든 숫자형 값을 부동소수점 숫자로 변환합니다.
factor(x^3 + 2, x, 'FactorMode', 'complex')
ans = [ x + 1.2599210498948731647672106072782,... x - 0.62996052494743658238360530363911 + 1.0911236359717214035600726141898i,... x - 0.62996052494743658238360530363911 - 1.0911236359717214035600726141898i]
완전 인수분해 모드를 사용하여 이 표현식을 인수분해합니다. 이 모드는 표현식을 1차 표현식으로 인수분해하여 2차 다항식을 복소수 계수가 있는 1차 표현식으로 줄입니다. 이 모드는 유리수를 정확한 기호 형식으로 유지합니다.
factor(x^3 + 2, x, 'FactorMode', 'full')
ans = [ x + 2^(1/3),... x - 2^(1/3)*((3^(1/2)*1i)/2 + 1/2),... x + 2^(1/3)*((3^(1/2)*1i)/2 - 1/2)]
vpa
를 사용하여 결과의 근사치를 부동소수점 숫자로 계산합니다. 표현식에 변수 x
이외의 기호 파라미터가 없기 때문에 결과는 복소수 인수분해 모드와 동일합니다.
vpa(ans)
ans = [ x + 1.2599210498948731647672106072782,... x - 0.62996052494743658238360530363911 - 1.0911236359717214035600726141898i,... x - 0.62996052494743658238360530363911 + 1.0911236359717214035600726141898i]
RootOf
를 포함하는 결과의 근사치 계산하기
완전 인수분해 모드에서 factor
는 RootOf
로 표현된 다항식 근에 대한 기호 합으로 결과를 반환할 수도 있습니다.
다음 표현식을 인수분해합니다.
syms x s = factor(x^3 + x - 3, x, 'FactorMode','full')
s = [ x - root(z^3 + z - 3, z, 1),... x - root(z^3 + z - 3, z, 2),... x - root(z^3 + z - 3, z, 3)]
vpa
를 사용하여 결과의 근사치를 부동소수점 숫자로 계산합니다.
vpa(s)
ans = [ x - 1.2134116627622296341321313773815,... x + 0.60670583138111481706606568869074 + 1.450612249188441526515442203395i,... x + 0.60670583138111481706606568869074 - 1.450612249188441526515442203395i]
입력 인수
출력 인수
팁
flintmax
보다 큰 정수를 인수분해하려면 해당 정수를sym
으로 감싸십시오. 그런 다음 정수를 따옴표로 묶어 정확하게 나타냅니다(예:sym('465971235659856452')
).음의 정수를 인수분해하려면 해당 정수를
sym
으로 감싸십시오(예:sym(-3)
).
버전 내역
R2006a 이전에 개발됨