Main Content

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

적분

이 예제에서는 Symbolic Math Toolbox™를 사용하여 정적분을 계산하는 방법을 보여줍니다.

정적분

[π2,3π2]에서 f(x)=sin(x)의 정적분 abf(x)dx는 0임을 보여줍니다.

syms x
int(sin(x),pi/2,3*pi/2)
ans = 0

최댓값과 최솟값에서 정적분

a0일 때 F(a)=-aasin(ax)sin(x/a)dx를 최대화하려면 먼저 기호 변수를 정의하고 a0이라고 가정합니다.

syms a x
assume(a >= 0);

그런 다음, 최대화할 함수를 정의합니다.

F = int(sin(a*x)*sin(x/a),x,-a,a)
F = 

{1-sin(2)2 if  a=12asin(a2)cos(1)-a2cos(a2)sin(1)a4-1 if  a1

여기서 a=1의 특수한 경우에 유의하십시오. 계산을 더 쉽게 하기 위해 assumeAlso를 사용하여 이 가능성을 무시합니다(그리고 a=1이 최댓값이 아닌지 나중에 확인하겠습니다).

assumeAlso(a ~= 1);
F = int(sin(a*x)*sin(x/a),x,-a,a)
F = 

2asin(a2)cos(1)-a2cos(a2)sin(1)a4-1

F의 플롯을 생성하여 형태를 확인합니다.

fplot(F,[0 10])

Figure contains an axes object. The axes object contains an object of type functionline.

diff를 사용하여 a에 대해 F의 도함수를 구합니다.

Fa = diff(F,a)
Fa = 

2σ1a4-1+2a2acos(a2)cos(1)-2acos(a2)sin(1)+2a3sin(a2)sin(1)a4-1-8a4σ1a4-12where  σ1=sin(a2)cos(1)-a2cos(a2)sin(1)

Fa의 0 값들은 F의 국소 극값입니다.

hold on
fplot(Fa,[0 10])
grid on

Figure contains an axes object. The axes object contains 2 objects of type functionline.

최댓값은 1과 2 사이입니다. vpasolve를 사용하여 다음 구간에서 Fa의 0의 근삿값을 구합니다.

a_max = vpasolve(Fa,a,[1,2])
a_max = 1.5782881585233198075558845180583

subs를 사용하여 적분의 최댓값을 구합니다.

F_max = subs(F,a,a_max)
F_max = 0.36730152527504169588661811770092cos(1)+1.2020566879911789986062956284113sin(1)

결과에는 여전히 정확한 숫자 sin(1)cos(1)이 포함됩니다. vpa를 사용하여 이러한 숫자를 수치 근사로 바꾸십시오.

vpa(F_max)
ans = 1.2099496860938456039155811226054

제외된 사례 a=1로 인해 더 큰 값이 도출되지 않는지 확인합니다.

vpa(int(sin(x)*sin(x),x,-1,1))
ans = 0.54535128658715915230199006704413

다중 적분

고차원 영역에 대한 수치 적분에는 특수 함수가 있습니다.

integral2(@(x,y) x.^2-y.^2,0,1,0,1)
ans = 4.0127e-19

고차원 기호 적분에는 그러한 특수 함수가 없습니다. 대신 중첩 1차원 적분을 사용하십시오.

syms x y
int(int(x^2-y^2,y,0,1),x,0,1)
ans = 0

선적분

3차원 공간에서 벡터장 F를 정의합니다.

syms x y z
F(x,y,z) = [x^2*y*z, x*y, 2*y*z];

다음으로, 곡선을 정의합니다.

syms t
ux(t) = sin(t);
uy(t) = t^2-t;
uz(t) = t;

곡선 u에서 F의 선적분은 fdu=f(ux(t),uy(t),uz(t))dudtdt로 정의됩니다. 여기서 우변의 는 스칼라 곱을 나타냅니다.

이 정의를 사용하여 [0,1]에서 t에 대한 선적분을 계산합니다.

F_int = int(F(ux,uy,uz)*diff([ux;uy;uz],t),t,0,1)
F_int = 

19cos(1)4-cos(3)108-12sin(1)+sin(3)27+39554

이 정확한 결과의 수치 근사를 구합니다.

vpa(F_int)
ans = -0.20200778585035447453044423341349