주요 콘텐츠

collect

동일한 거듭제곱의 계수를 모아서 정리

설명

C = collect(P)는 기호 입력값 P에서 디폴트 변수의 동일한 거듭제곱의 계수를 모아서 정리합니다. P의 디폴트 변수는 symvar에 의해 결정됩니다.

예제

C = collect(P,expr)은 지정된 표현식에 대해 동일한 거듭제곱의 계수를 모아서 정리합니다. P가 벡터 또는 행렬이면 collectP에 대해 요소별로 작동합니다. expr이 벡터이면 collectexpr에 있는 모든 표현식에 대한 계수를 찾습니다.

예제

예제

모두 축소

기호 표현식에서 디폴트 변수의 동일한 거듭제곱의 계수를 모아서 정리합니다. 여기서 collectx^2x의 계수를 모아서 정리하여 x에 대한 다항식으로 표현식을 반환합니다.

syms x
P = (exp(x) + x)*(x + 2)
P = x+exx+2
C = collect(P)
C = x2+ex+2x+2ex

변수를 지정하지 않았기 때문에 collectsymvar에 의해 결정된 디폴트 변수를 사용합니다. 이 표현식에서 디폴트 변수는 x입니다.

defaultvar = symvar(P)
defaultvar = x

변수를 collect에 대한 두 번째 인수로 지정하여 기호 표현식에서 지정된 변수의 동일한 거듭제곱의 계수를 모아서 정리합니다.

변수 xy에 대해 기호 표현식을 만듭니다.

syms x y
P = x^2*y + y*x - x^2 - 2*x
P = xy-2x+x2y-x2

x의 동일한 거듭제곱의 계수를 모아서 정리합니다. 여기서 collectx^2x의 계수를 모아서 정리하여 x에 대한 다항식으로 표현식을 반환합니다.

Cx = collect(P,x)
Cx = y-1x2+y-2x

y의 동일한 거듭제곱의 계수를 모아서 정리합니다. 여기서 collecty의 계수를 모아서 정리하여 y에 대한 다항식으로 표현식을 반환합니다.

Cy = collect(P,y)
Cy = x2+xy-x2-2x

두 번째 인수를 변수로 구성된 벡터로 지정하여 여러 변수의 계수를 모아서 정리할 수도 있습니다. 변수 xy에 대해 또 다른 기호 표현식을 만듭니다. 그런 다음 xy의 동일한 거듭제곱의 계수를 모아서 정리합니다. 여기서 collectx^2x*y의 계수를 모아서 정리하여 두 변수 xy에 대한 다항식으로 표현식을 반환합니다.

syms a b
Q = a^2*x*y + a*b*x^2 + a*x*y + x^2
Q = ya2x+bax2+yax+x2
Cxy = collect(Q,[x y])
Cxy = ab+1x2+a2+axy

i에 대해 기호 표현식의 계수를 모은 다음 pi에 대해 계수를 모아서 정리합니다.

syms x y
P = y*pi*(pi - 1i) + x*(pi + 1i) + 3*pi
P = 3π+xπ+i+πyπ-i
Ci = collect(P,1i)
Ci = x-πyi+3π+πx+yπ2
Cpi = collect(P,pi)
Cpi = yπ2+x+3-yiπ+xi

계수를 모아서 정리할 기호 표현식이나 기호 함수를 collect의 두 번째 인수로 지정할 수 있습니다.

expand를 사용하여 표현식 sin(x + 3*y)를 전개합니다. 그런 다음 sin(x)에 대한 계수를 모아서 정리합니다.

syms x y
P = expand(sin(x + 3*y))
P = 4sin(x)cos(y)3+4cos(x)sin(y)cos(y)2-3sin(x)cos(y)-cos(x)sin(y)
C = collect(P,sin(x))
C = 4cos(y)3-3cos(y)sin(x)+4cos(x)cos(y)2sin(y)-cos(x)sin(y)

벡터 입력값을 지정하여 sin(x)sin(y)에 대한 계수를 모아서 정리합니다.

Cxy = collect(P,[sin(x) sin(y)])
Cxy = 4cos(y)3-3cos(y)sin(x)+4cos(x)cos(y)2-cos(x)sin(y)

기호 표현식에서 기호 함수 y(x)에 대한 계수를 모아서 정리할 수도 있습니다.

syms y(x)
P = y^2*x + y*x^2 + y*sin(x) + x*y
P(x) = xy(x)2+x2y(x)+sin(x)y(x)+xy(x)
Cy = collect(P,y)
Cy(x) = xy(x)2+x+sin(x)+x2y(x)

기호 입력값으로 구성된 행렬을 지정할 경우 collect는 행렬에 대해 요소별로 작동합니다.

syms x y
P = [(x + 1)*(y + 1), x^2 + x*(x -y);
     2*x*y - x, x*y + x/y]
P = 

(x+1y+1xx-y+x22xy-xxy+xy)

C = collect(P,x)
C = 

(y+1x+y+12x2+-yx2y-1xy+1yx)

특정 함수의 이름을 두 번째 인수에 string형 스칼라로 지정하여 이 함수 호출의 계수를 모아서 정리합니다. 여러 개의 함수를 string형 배열로 지정하여 여러 개의 함수에 대한 함수 호출의 계수를 모아서 정리합니다.

P에서 sin 함수 호출의 계수를 모아서 정리합니다. 여기서 P는 다양한 함수에 대한 여러 호출을 포함하는 기호 표현식입니다.

syms a b c d e f x
P = a*sin(2*x) + b*sin(2*x) + c*cos(x) + ...
    d*cos(x) + e*sin(3*x) + f*sin(3*x)
P = asin(2x)+bsin(2x)+esin(3x)+fsin(3x)+ccos(x)+dcos(x)
C1 = collect(P,"sin")
C1 = a+bsin(2x)+e+fsin(3x)+ccos(x)+dcos(x)

P에서 sincos 함수 호출의 계수를 모아서 정리합니다.

C2 = collect(P,["sin" "cos"])
C2 = a+bsin(2x)+e+fsin(3x)+c+dcos(x)

xy에 대한 기호 표현식을 만듭니다.

syms x y
P = -12/((x - 2)*(x + 2)) + 8/(y + 2)
P = 

8y+2-12x-2x+2

기호 표현식 P에서 x의 동일한 거듭제곱의 계수를 모은 다음 y의 동일한 거듭제곱의 계수를 모아서 정리합니다. 여기서 collect 함수는 두 다항식의 나눗셈 형식으로 된 유리 함수를 반환합니다. 이 함수는 분자와 분모에서 각각 따로, 양의 정수 거듭제곱을 갖는 동일한 항을 기준으로 계수를 모아서 정리합니다.

Cx = collect(P,x)
Cx = 

8x2-12y-56y+2x2-4y-8

Cy = collect(P,y)
Cy = 

-12y+8x2-56x2-4y+2x2-8

미지수에 대한 양의 정수 거듭제곱을 포함한 두 다항식의 나눗셈인 유리 함수로 이 표현식을 표현할 수 없는 경우 collect는 동일한 거듭제곱의 계수를 모아서 정리할 수 없습니다.

예를 들어, x의 제곱근을 포함하는 기호 표현식을 만듭니다. 여기서 collectx의 동일한 거듭제곱을 모아서 정리하지 않습니다.

Q = -12/(sqrt(x)*(x + 2)) + 8/(y + 2)
Q = 

8y+2-12xx+2

C = collect(Q,x)
C = 

16x-12y+8x3/2-242xy+x3/2y+4x+2x3/2

입력 인수

모두 축소

입력 표현식으로, 기호 표현식, 기호 함수, 기호 벡터 또는 기호 행렬로 지정됩니다.

계수를 모아서 정리할 표현식으로, 기호 숫자, 기호 변수, 기호 표현식, 기호 함수, 기호 벡터, string형 배열, 문자형 벡터 또는 문자형 벡터로 구성된 셀형 배열로 지정됩니다.

예: sin(x)

예: [sin(x) cos(y)]

예: ["sin" "cos"]

  • collect는 입력 표현식과 출력 표현식이 같아 보일 수 있지만 입력 표현식과 구문적으로 다른 출력값을 반환합니다. 이런 이유로 isequal과 같은 함수는 같음을 확인할 때 true를 반환하지 않을 수 있습니다. 입력 표현식과 출력 표현식이 같음을 증명하려면 대신 isAlways를 사용하십시오.

버전 내역

R2006a 이전에 개발됨