내용
극한
limit() 함수
limit()함수를 사용합니다.
limit(식, 변수, 값) 이 함수의 각 인수는 다음과 같습니다.
$$\underset{\text{변수} \to \text{값}}{\quad \text{limit} \quad }\text{식}$$
import numpy as np import pandas as pd from sympy import *
예
함수 f(x)=sin(x)와 $g(x)=\frac{\sin(x)}{x}$의 0으로의 극한을 계산합니다.
x=symbols('x') f=sin(x) limit(f, x, 0)
0
g=sin(x)/x limit(g, x, 0 )
1극한이 정해진 수에 접근하는 경우 .subs() 메서드를 적용할 수 있습니다.
ex=x**2/exp(x) limit(ex, x, 1000)$\quad\color{navy}{\scriptstyle \frac{1000000}{e^{1000}}}$
ex.subs(x, 1000)$\quad\color{navy}{\scriptstyle \frac{1000000}{e^{1000}}}$ 그러나 변수가 무한대로 접근하는 경우 .subs()를 적용할 수 없습니다.
limit(ex, x, oo)
0
ex.subs(x, oo)
NaNsympy의 Limit 클래스는전달되는 식의 계산이 평가되지 않은 상태로 반환됩니다.
Limit((cos(x)-1)/x, x, 0)$\quad\color{navy}{\scriptstyle \lim_{x \to 0^+}\left(\frac{\cos{\left(x \right)} - 1}{x}\right)}$
위 표현식을 평가하기 위해 .doit() 메서드가 적용됩니다.
Limit((cos(x)-1)/x, x, 0).doit()
0
limit((cos(x)-1)/x, x, 0)
0
좌극한, 우극한
함수가 지정된 값으로 접근하는 방향은 다음 그림과 같이 두 가지입니다.- 왼쪽에서 접근하는 경우: 좌극한(left limit)로 '-'를 사용하여 나타냅니다.
- 오른쪽에서 접근하는 경우: 우극한(right limit)로 '+'를 사용하여 나타냅니다.
limit(1/x, x, 0, '+')$\quad\color{navy}{\scriptstyle \infty}$
limit(1/x, x, 0, '-')$\quad\color{navy}{\scriptstyle -\infty}$
data4limit
한 점으로 좌측에서 접근할 경우, 우측에서 접근할 경우 함수 값의 변화를 나타내기 위해 사용자 정의 함수 data4limit()함수를 작성합니다.def data4limit(point, rng, func, symbol, factor=0.1): p=point x=[] x1=[] n=1 for i in range(rng): n*=factor x.append(p+n) x1.append(p-n) y=[float(func.subs(symbol, i)) for i in x] y1=[float(func.subs(symbol, i)) for i in x1] return (pd.DataFrame([x, y, x1, y1], index=['x+','y+', 'x-', 'y-']).T)
예
함수 $h(x)=(x+1)^{\frac{1}{x}}$에 대해 x=0으로의 좌극한과 우극한을 계산해 봅니다.
x=symbols('x') h=(x+1)**(1/x); h$\quad \color{navy}{(x+1)^{\frac{1}{x}}}$
data4limit(0, 3, h1, h, factor=0.001)
x+ | y+ | x- | y- | |
---|---|---|---|---|
0 | 1.0000e-03 | 2.7169 | -1.0000e-03 | 2.7196 |
1 | 1.0000e-06 | 2.7183 | -1.0000e-06 | 2.7183 |
2 | 1.0000e-09 | 2.7183 | -1.0000e-09 | 2.7183 |
댓글
댓글 쓰기