Main Content

점근선, 임계점, 변곡점 찾기

이 예제에서는 간단한 함수를 분석하여 점근선, 최댓값, 최솟값 및 변곡점을 찾는 방법을 보여줍니다.

함수 정의하기

이 예제에서 사용할 함수는 다음과 같습니다.

f(x)=3x2+6x-1x2+x-3.

먼저 함수를 만듭니다.

syms x
num = 3*x^2 + 6*x -1;
denom = x^2 + x - 3;
f = num/denom
f = 

3x2+6x-1x2+x-3

fplot을 사용하여 함수를 플로팅합니다. fplot 함수는 자동으로 수직 점근선을 보여줍니다.

fplot(f)

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

점근선 찾기

f의 수평 점근선을 수학적으로 찾으려면 x가 양의 무한대에 접근할 때의 f의 극한값을 구하십시오.

limit(f,Inf)
ans = 3

x가 음의 무한대에 접근할 때의 극한값도 3입니다. 이 결과는 선 y=3f에 대한 수평 점근선임을 의미합니다.

f의 수직 점근선을 찾으려면 분모를 0으로 설정하고 푸십시오.

roots = solve(denom)
roots = 

(-132-12132-12)

roots는 수직 점근선이 각각 다음 두 선임을 나타냅니다.

x=-1-132

x=-1+132.

최댓값과 최솟값 찾기

그래프를 보면 f에 점 x=2x=0 사이에 국소 최댓값이 있음을 알 수 있습니다. x=6x=2 사이에 국소 최솟값도 있습니다. 최댓값과 최솟값의 x 좌표를 구하려면 먼저 f의 도함수를 구하십시오.

f1 = diff(f)
f1 = 

6x+6x2+x-3-2x+13x2+6x-1x2+x-32

이 표현식을 단순화하려면 다음을 입력하십시오.

f1 = simplify(f1)
f1 = 

-3x2+16x+17x2+x-32

다음으로, 도함수를 0으로 설정하고 임계점에 대해 풉니다.

crit_pts = solve(f1)
crit_pts = 

(-133-83133-83)

f의 그래프에서 볼 수 있듯이 이 함수는 다음 지점에서 국소 최솟값을 갖고

x1=-8-133

다음 지점에서 국소 최댓값을 갖습니다.

x1=-8+133.

f의 최댓값과 최솟값을 플로팅합니다.

fplot(f)
hold on
plot(double(crit_pts), double(subs(f,crit_pts)),'ro')
title('Maximum and Minimum of f')
text(-4.8,5.5,'Local minimum')
text(-2,4,'Local maximum')
hold off

Figure contains an axes object. The axes object with title Maximum and Minimum of f contains 4 objects of type functionline, line, text.

변곡점 찾기

f의 변곡점을 찾으려면 2계 도함수를 0으로 설정하고 이 조건에 대해 풉니다.

f2 = diff(f1);
inflec_pt = solve(f2,'MaxDegree',3);
double(inflec_pt)
ans = 3×1 complex

  -5.2635 + 0.0000i
  -1.3682 - 0.8511i
  -1.3682 + 0.8511i

이 예제에서는 첫 번째 요소만 실수이므로 이것이 유일한 변곡점입니다. MATLAB®은 방정식의 근을 항상 동일한 순서로 반환하지는 않습니다.

inter_pt의 요소를 참조하여 실근을 선택하는 대신, 허수부의 값이 0인 근을 확인하여 실근을 식별하십시오.

idx = imag(double(inflec_pt)) == 0;
inflec_pt = inflec_pt(idx)
inflec_pt = 

-13916954-2197181/3-16954-2197181/3-83

변곡점을 플로팅합니다. fplot의 추가 인수 [-9 6]은 다음 Figure에 보이는 것처럼 변곡점을 더 명확하게 볼 수 있도록 플롯에서 x 값의 범위를 확장합니다.

fplot(f,[-9 6])
hold on
plot(double(inflec_pt), double(subs(f,inflec_pt)),'ro')
title('Inflection Point of f')
text(-7,1,'Inflection point')
hold off

Figure contains an axes object. The axes object with title Inflection Point of f contains 3 objects of type functionline, line, text.