고등학교 수학의 '극한값' 관련 문제를 파이썬으로 해결

개요



함수의 극한값에 관한 문제(고등학교 수학)를 Python으로 해결해 갑니다. 연습 문제와 해답 예의 작성 지원을 목적으로 하고 있습니다(교원용입니다).
  • 고등학교 수학 '벡터 내적' 관련 문제를 파이썬으로 해결
  • 고등학교 수학의 「고차 방정식 · 항등식」관련의 문제를 Python으로 풀다
  • 고등학교 수학의 '2차 함수 그래프' 관련 문제를 파이썬으로 해결
  • 고등학교 수학의 '극한값' 관련 문제를 파이썬으로 해결
  • 고등학교 수학의 '미분' 관련 문제를 파이썬으로 해결

  • 질문 1



    다음 극한값을 구하라.

    $$\lim_{x\to -\infty}\frac{5x^2-x}{4-2x^2} $$

    질문 1을 풀는 방법(참고)



    분자 분모를 $x^2$ 로 나눕니다.

    $$\lim_{x\to -\infty}\frac{5x^2-x}{4-2x^2} =\lim_{x\to -\infty}\frac{5-\frac{1}{ x}}{\frac{4}{x^2}-2} = -\frac{5}{2}$$

    질문 1의 해를 주는 Python 프로그램



    sympy를 사용하여 해결합니다. sympy는 기호 계산 (수식 처리) 패키지입니다. 무한대 $\infty$ 는 sympy.oo 로 주어집니다.

    파이썬
    from sympy import oo, limit, Symbol
    x = Symbol('x')
    fx = ( 5*x**2 - x ) / ( 4 - 2*x**2 )
    ans = limit(fx, x, -oo)
    print(f'解:{ans}')
    

    실행 결과


    解:-5/2
    

    덤 1



    분수 함수 $\frac{5x^2-x}{4-2x^2} $ 의 그래프를 그려 보겠습니다. $x\to -\infty$ 를 보려면 $x$ 축을 로그 스케일로 만듭니다.
    import numpy as np
    import matplotlib.pyplot as plt
    from sympy import Symbol,solve
    
    # 定義域を確認
    g = ( 4 - 2*x**2 ) # 分母
    sx = solve(g)
    tmp = ', '.join(map(str,sx))
    print(f'分母 ( {g} ) がゼロになるのは(定義域から除外されるのは) x= {tmp} ')
    
    # グラフの描画 ここからは numpy を利用
    x1 = -np.logspace(-2, 4, num=100)[::-1] # -10e4  ~ -10e-2
    x2 =  np.logspace(-2, 4, num=100)       #  10e-2 ~  10e4
    x  =  np.concatenate([x1,x2])
    f = lambda x : ( 5*x**2 - x ) / ( 4 - 2*x**2 ) 
    y = f(x)
    plt.figure(dpi=120)
    plt.plot(x, y, marker='.')
    plt.ylim(-10,10)
    plt.xscale('symlog') # 対称ログスケール
    plt.show()
    

    덤 1 실행 결과


    分母 ( -2*x**2 + 4 ) がゼロになるのは(定義域から除外されるのは) x= -sqrt(2), sqrt(2) 
    



    그래프에서도, $x\to -\infty$ 로, $-2.5$ 에 수렴하는 것을 추측할 수 있습니다.

    덤 2



    정의 영역에서 벗어나는 $x=\pm\sqrt{2}$ 에서 어떤 값에 접근하는지 살펴보겠습니다. 여기에서는 $\sqrt{2}$ 에 대해, 오른쪽($\sqrt{2}+\delta$)으로부터와 좌측($\sqrt{2}-\delta$)으로부터의 접근했을 때의 값을 보자 합니다. 즉, $x\to\sqrt{2}^{+}$, $x\to\sqrt{2}^{-}$일 때의 극한값을 구합니다.
    sympy.limit() 의 네 번째 인수를 '+' 또는 '-' 로 설정합니다.

    파이썬
    from sympy import limit, Symbol,sqrt
    x = Symbol('x')
    fx = ( 5*x**2 - x ) / ( 4 - 2*x**2 )
    ans1 = limit(fx, x, sqrt(2), '+')
    ans2 = limit(fx, x, sqrt(2), '-')
    print(f'解:{ans1}, {ans2}')
    

    덤 2 실행 결과



    그래프 결과와 일치합니다.
    解:-oo, oo
    

    질문 2



    다음 극한값을 구하라.

    $$\lim_{x\to\infty} (\sqrt{x^2+1}-x ) $$

    질문 2를 풀는 방법(참고)


    \begin{align}
    \lim_{x \to \infty} (\sqrt{x^2+1}-x )  & = \lim_{x \to \infty} \frac{(\sqrt{x^2+1}-x)(\sqrt{x^2+1}+x)}{\sqrt{x^2+1}+x}  \\
    & =  \lim_{x \to \infty} \frac{(x^2+1)-x^2}{\sqrt{x^2+1}+x} \\
    & =  \lim_{x \to \infty} \frac{1}{\sqrt{x^2+1}+x} \\
    & = 0
    \end{align}
    

    질문 2의 해를 주는 Python 프로그램



    파이썬
    from sympy import oo, limit, Symbol, sqrt
    x = Symbol('x')
    fx = sqrt(x**2+1)-x
    ans = limit(fx, x, oo)
    print(f'解:{ans}')
    

    실행 결과


    解:0
    

    좋은 웹페이지 즐겨찾기