이 페이지의 최신 내용은 아직 번역되지 않았습니다. 최신 내용은 영문으로 볼 수 있습니다.

int

정적분 및 부정적분

설명

예제

F = int(expr)expr의 부정적분을 계산합니다. intsymvar(expr,1)로 정해지는 디폴트 적분 변수를 사용합니다. expr이 상수이면 x가 디폴트 적분 변수가 됩니다.

예제

F = int(expr,var)은 기호 스칼라 변수 var에 대해 expr의 부정적분을 계산합니다.

예제

F = int(expr,a,b)a부터 b까지 expr의 정적분을 계산합니다. intsymvar(expr,1)로 정해지는 디폴트 적분 변수를 사용합니다. expr이 상수이면 x가 디폴트 적분 변수가 됩니다.

int(expr,[a b])int(expr,a,b)와 동일합니다.

예제

F = int(expr,var,a,b)는 기호 스칼라 변수 var에 대해 a부터 b까지 expr의 정적분을 계산합니다.

int(expr,var,[a b])int(expr,var,a,b)와 동일합니다.

예제

F = int(___,Name,Value)는 하나 이상의 Name,Value 쌍 인수를 사용하여 옵션을 추가로 지정합니다. 예를 들어, 'IgnoreAnalyticConstraints',trueint가 피적분 함수에 추가로 단순화를 적용하도록 지정합니다.

예제

모두 축소

일변량 표현식을 정의합니다.

syms x
expr = -2*x/(1+x^2)^2;

일변량 표현식의 부정적분을 구합니다.

F = int(expr)
F = 

1x2+11/(x^2 + 1)

변수 xz를 갖는 다변량 함수를 정의합니다.

syms x z
f(x,z) = x/(1+z^2);

변수 xz에 대해 다변량 표현식의 부정적분을 구합니다.

Fx = int(f,x)
Fx(x, z) = 

x22z2+1x^2/(2*(z^2 + 1))

Fz = int(f,z)
Fz(x, z) = xatan(z)x*atan(z)

적분 변수를 지정하지 않으면 intsymvar에서 반환된 첫 번째 변수를 적분 변수로 사용합니다.

var = symvar(f,1)
var = xx
F = int(f)
F(x, z) = 

x22z2+1x^2/(2*(z^2 + 1))

기호 표현식을 0부터 1까지 적분합니다.

syms x
expr = x*log(1+x);
F = int(expr,[0 1])
F = 

14sym(1/4)

다른 표현식을 sin(t)부터 1까지 적분합니다.

syms t
F = int(2*x,[sin(t) 1])
F = cos(t)2cos(t)^2

int가 정적분의 값을 계산할 수 없는 경우 vpa를 사용하여 수치적으로 적분을 근사합니다.

syms x
f = cos(x)/sqrt(1 + x^2);
Fint = int(f,x,[0 10])
Fint = 

010cos(x)x2+1dxint(cos(x)/sqrt(x^2 + 1), x, 0, 10)

Fvpa = vpa(Fint)
Fvpa = 0.37570628299079723478493405557162vpa('0.37570628299079723478493405557162')

적분의 근삿값을 직접 계산하려면 vpa 대신 vpaintegral을 사용하십시오. vpaintegral 함수는 값을 더 빠르게 계산하며 적분 허용오차를 제어할 수 있습니다.

Fvpaint = vpaintegral(f,x,[0 10])
Fvpaint = 0.375706vpa('0.375706')

4개의 표현식을 요소로 포함하는 기호 행렬을 정의합니다.

syms a x t z
M = [exp(t) exp(a*t); sin(t) cos(t)]
M = 

(eteatsin(t)cos(t))[exp(t), exp(a*t); sin(t), cos(t)]

행렬의 부정적분을 요소별로 구합니다.

F = int(M,t)
F = 

(eteata-cos(t)sin(t))[exp(t), exp(a*t)/a; -cos(t), sin(t)]

기호 함수를 정의하고 부정적분을 계산합니다.

syms f(x)
f(x) = acos(cos(x));
F = int(f,x)
F(x) = 

xacos(cos(x))-x22sign(sin(x))x*acos(cos(x)) - x^2/(2*sign(sin(x)))

기본적으로 int는 엄격한 수학 규칙을 사용합니다. 이러한 규칙은 intacos(cos(x))x로 다시 표현하는 것을 허용하지 않습니다.

간단하고 실용적인 해를 구하려면 'IgnoreAnalyticConstraints'true로 설정하십시오.

F = int(f,x,'IgnoreAnalyticConstraints',true)
F(x) = 

x22x^2/2

기호 표현식 xt를 정의하고 변수 x에 대해 부정적분을 계산합니다.

syms x t
F = int(x^t,x)
F = 

{log(x) if  t=-1xt+1t+1 if  t-1piecewise(t == -1, log(x), t ~= -1, x^(t + 1)/(t + 1))

기본적으로 int는 다른 기호 파라미터 t의 모든 값에 대한 일반적인 결과를 반환합니다. 이 예제에서 intt=-1인 경우와 t-1인 경우에 대해 2개의 적분 결과를 반환합니다.

파라미터 값이 특수한 경우를 무시하려면 'IgnoreSpecialCases'true로 설정하십시오. 이 옵션을 사용할 경우 intt=-1이라는 특수한 경우를 무시하고 t-1에 대한 해를 반환합니다.

F = int(x^t,x,'IgnoreSpecialCases',true)
F = 

xt+1t+1x^(t + 1)/(t + 1)

x=1에 극점이 있는 기호 함수 f(x)=1/(x-1)을 정의합니다.

syms x
f(x) = 1/(x-1)
f(x) = 

1x-11/(x - 1)

x=0부터 x=2까지 이 함수의 정적분을 계산합니다. 적분 구간에 극점이 포함되므로 결과가 정의되지 않습니다.

F = int(f,[0 2])
F = NaNsym(NaN)

그러나 적분의 코시 주요값은 존재합니다. 적분의 코시 주요값을 계산하려면 'PrincipalValue'true로 설정하십시오.

F = int(f,[0 2],'PrincipalValue',true)
F = 0sym(0)

xexdx의 적분을 구합니다.

'Hold' 옵션을 true로 설정하여 적분을 계산하지 않고 정의합니다.

syms x g(y)
F = int(x*exp(x),'Hold',true)
F = 

xexdxint(x*exp(x), x, 'Hold = TRUE', true)

integrateByParts 함수를 사용하여 F에 부분 적분을 적용할 수 있습니다. exp(x)를 적분할 미분 식으로 사용합니다.

G = integrateByParts(F,exp(x))
G = 

xex-exdxx*exp(x) - int(exp(x), x, 'Hold = TRUE', true)

G에서 적분을 계산하기 위해 release 함수를 사용하여 'Hold' 옵션을 무시합니다.

Gcalc = release(G)
Gcalc = xex-exx*exp(x) - exp(x)

결과를 'Hold' 옵션을 설정하지 않은 상태로 int에서 반환된 적분 결과와 비교합니다.

Fcalc = int(x*exp(x))
Fcalc = exx-1exp(x)*(x - 1)

int는 닫힌 형식의 적분을 계산할 수 없는 경우 계산되지 않은 적분을 반환합니다.

syms f(x)
f(x) = sin(sinh(x));
F = int(f,x)
F(x) = 

sin(sinh(x))dxint(sin(sinh(x)), x)

테일러 전개를 사용하여 피적분 함수 f(x)를 다항식으로 근사할 수 있습니다. taylor를 적용하여 피적분 함수 f(x)x=0을 중심으로 하는 다항식으로 전개합니다. 근사된 다항식의 적분을 계산합니다.

fTaylor = taylor(f,x,'ExpansionPoint',0,'Order',10)
fTaylor(x) = 

x95670-x790-x515+xx^9/5670 - x^7/90 - x^5/15 + x

Fapprox = int(fTaylor,x)
Fapprox(x) = 

x1056700-x8720-x690+x22x^10/56700 - x^8/720 - x^6/90 + x^2/2

입력 인수

모두 축소

피적분 함수로, 기호 표현식, 기호 함수, 기호 벡터, 기호 행렬 또는 기호 숫자로 지정됩니다.

적분 변수로, 기호 변수로 지정됩니다. 이 변수를 지정하지 않으면 intsymvar(expr,1)이 결정하는 디폴트 변수를 사용합니다. expr이 상수이면 x가 디폴트 변수가 됩니다.

하한으로, 숫자, 기호 숫자, 기호 변수, 기호 표현식 또는 기호 함수(무한대가 있는 표현식 및 함수 포함)로 지정됩니다.

상한으로, 숫자, 기호 숫자, 기호 변수, 기호 표현식 또는 기호 함수(무한대가 있는 표현식 및 함수 포함)로 지정됩니다.

이름-값 쌍의 인수

선택적으로 Name,Value 인수가 쉼표로 구분되어 지정됩니다. 여기서 Name은 인수 이름이고 Value는 대응값입니다. Name은 따옴표 안에 표시해야 합니다. Name1,Value1,...,NameN,ValueN과 같이 여러 개의 이름-값 쌍의 인수를 어떤 순서로든 지정할 수 있습니다.

예: 'IgnoreAnalyticConstraints',trueint가 피적분 함수에 순수 대수적 단순화를 적용하도록 지정합니다.

피적분 함수에 순수 대수적 단순화를 적용할지 여부를 나타내는 표시자로, true 또는 false로 지정됩니다. 값이 true이면 피적분 함수에 순수 대수적 단순화를 적용합니다. 직접 적분할 경우 복잡한 결과가 반환되는 표현식에 이 옵션을 사용하면 더 간단한 결과를 얻을 수 있습니다. 경우에 따라서는, int가 다른 방법으로 계산할 수 없는 적분을 이 옵션을 사용해 계산할 수도 있습니다.

이 옵션을 사용하면 잘못되거나 불완전한 결과가 발생할 수 있습니다.

특수한 경우를 무시할지 여부를 나타내는 표시자로, true 또는 false로 지정됩니다. 이는 한 개 이상의 파라미터가 원소 개수가 고정된 유한 집합이나 어떤 정수 집합과 같이 비교적 작은 집합의 요소가 되어야 하는 경우를 무시합니다.

주요값을 반환할지 여부를 나타내는 표시자로, true 또는 false로 지정됩니다. 값이 true이면 적분의 코시 주요값을 계산합니다.

미평가 적분에 대한 표시자로, true 또는 false로 지정됩니다. 값이 true이면 int는 적분을 계산하지 않고 반환합니다.

  • 미분과 달리 기호 적분은 더 복잡합니다. int가 표현식의 적분을 계산할 수 없는 경우, 다음 원인을 확인하십시오.

    • 역도함수가 닫힌 형식으로 존재하지 않습니다.

    • 역도함수가 존재하지만, int가 이를 구할 수 없습니다.

    int가 닫힌 형식의 적분을 계산할 수 없는 경우 계산되지 않은 적분을 반환합니다.

    다음 방법 중 하나를 사용하여 이러한 적분의 근삿값을 계산해 보십시오.

    • 부정적분의 경우 급수 전개를 사용합니다. 이 방법을 사용하여 변수의 특정 값을 중심으로 적분을 근사화합니다.

    • 정적분의 경우 수치 근사를 사용합니다.

  • 부정적분의 경우 int는 결과에 적분 상수를 반환하지 않습니다. 수학적으로 동등한 표현식을 적분한 결과가 다를 수 있습니다. 예를 들어, syms x; int((x+1)^2)(x+1)^3/3을 반환하는 반면 syms x; int(x^2+2*x+1)(x*(x^2+3*x+3))/3을 반환하는데, 이는 첫 번째 결과와 1/3만큼 차이가 납니다.

  • 부정적분의 경우 int는 암묵적으로 적분 변수 var이 실수라고 가정합니다. 정적분의 경우 int는 적분 변수 var을 지정된 적분 구간으로 제한합니다. 적분 경계 ab 중 하나 또는 둘 모두 숫자형이 아닌 경우, 명시적으로 달리 지정하지 않는 한 inta <= b라고 가정합니다.

알고리즘

IgnoreAnalyticConstraints를 사용하는 경우 int는 다음 규칙을 적용합니다.

  • a 및 b의 모든 값에 대해 log(a) + log(b) = log(a·b). 특히 다음 등식은 a, b 및 c의 모든 값에 대해 유효합니다.

      (a·b)c = ac·bc.

  • a 및 b의 모든 값에 대해 log(ab) = b·log(a). 특히 다음 등식은 a, b 및 c의 모든 값에 대해 유효합니다.

      (ab)c = ab·c.

  • f 및 g가 표준 수학 함수이고 모든 작은 양수에 대해 f(g(x)) = x이면 f(g(x)) = x가 모든 복소수 값 x에 대해 유효하다고 간주됩니다. 구체적으로 살펴보면,

    • log(ex) = x

    • asin(sin(x)) = x, acos(cos(x)) = x, atan(tan(x)) = x

    • asinh(sinh(x)) = x, acosh(cosh(x)) = x, atanh(tanh(x)) = x

    • 람베르트 W 함수의 모든 분지(branch) 인덱스 k에 대해 Wk(x·ex) = x.

R2006a 이전에 개발됨