【高数:2 数列的极限、函数的极限】

【高数:2 数列的极限、函数的极限】

  • 1 数列的极限
  • 2 函数极限

参考书籍:毕文斌, 毛悦悦. Python漫游数学王国[M]. 北京:清华大学出版社,2022.

1 数列的极限

数列 2 , 1 2 , 4 3 , 3 4 , ⋅ ⋅ ⋅ , n + ( − 1 ) n − 1 n 2,\frac{1}{2},\frac{4}{3},\frac{3}{4},···,\frac{n+(-1)^{n-1}}{n} 2,21,34,43,⋅⋅⋅,nn+(1)n1的极限是1.

import matplotlib.pyplot as plt
import numpy as np
def a(n):
    return (n+np.power(-1,n-1))/n
for i in range(1,6):
    print('a[{}]={};'.format(i,a(i)))

>>> a[1]=2.0;
	a[2]=0.5;
	a[3]=1.3333333333333333;
	a[4]=0.75;
	a[5]=1.2;
n=[]
for i in range(90,160):
    n.append(i)
a_n=[]
for i in range(len(n)):
    a_n.append(a(n[i]))
epsilon=0.01
fig,ax=plt.subplots()
#绘制水平参考线
ax.hlines(1-epsilon,90,160,'g','dashed',label='y=0.99')
ax.hlines(1,90,160,'k','solid',label='y=1.00')
ax.hlines(1+epsilon,90,160,'r','dashed',label='y=1.01')
#绘制数列散点图
ax.scatter(n,a_n,s=10,label='a(n)')
#确定N值,当n>N时,|a_n-1|
for N in range(len(a_n)):
    if np.abs(a_n[N]-1)<epsilon:
        break  #条件满足时退出循环
N-=1
N+=90
#设置垂直参考线
ax.vlines(N,0.989,1.011,colors='b',label='n=N',lw=3)
ax.set_title('Defination limit of a series of numbers by Epsilon')
plt.xlabel('n')
plt.ylabel('a(n)')
plt.legend()
plt.show()

【高数:2 数列的极限、函数的极限】_第1张图片

2 函数极限

eg1:求 lim ⁡ x → 1 x 2 − 1 x − 1 \lim_{x \to 1}\frac{x^2-1}{x-1} limx1x1x21的极限。

import sympy as sy #导入sympy并命名为sy
x=sy.symbols('x') #定义变量
def f(x):return (x**2-1)/(x-1)
result=sy.limit(f(x),x,1,dir='+-') #求x趋近于1时的极限
print(result)
>>>2

注释: sympy 中定义变量可以使用 symbols(),如果定义单个变量也可以使用symbol()函数,如x=symbol(‘x’)。symbols()函数可接收一系列由空格分隔的变量名字符串,并将其赋给相应的变量名,例如:x,y,z=sy.symbols(‘x y z’)。limit()函数用来求极限,它有四个参数limit(f,x,x0,dir=‘+’), 其中, f 表示函数; x表示要取极限的变量; x0表示x趋近的数值; dir 表示取极限的方向, 如果 dir='+'则表示取右极限, '-‘表示取左极限,‘±’表示取双向左右极限, 默认 dir=’+’.

eg2: 求 lim ⁡ x → 0 − ∣ x ∣ x \lim_{x \to 0^-}\frac{|x|}{x} limx0xx lim ⁡ x → 0 + ∣ x ∣ x \lim_{x \to 0^+}\frac{|x|}{x} limx0+xx的极限。

x=sy.symbols('x')
g=lambda x:sy.Abs(x)/x
sy.limit(g(x),x,0,dir='-'),sy.limit(g(x),x,0,dir='+')
>>>(-1,1)

eg3:分段函数极限, f ( x ) = { x − 1 ,    x < 0 0 ,      x = 0 x + 1 ,    x > 0 f(x)=\begin{cases}x-1,~~x<0\\0,~~~~x=0\\x+1,~~x>0\end{cases} f(x)= x1,  x<00,    x=0x+1,  x>0,证明当x->0时,函数极限不存在。

x=sy.symbols('x')
def f(x):
    if x<0:return x-1
    elif x==0:return 0
    else:return x+1
f(-1),f(0),f(1)
>>>(-2,0,2)
x=sy.symbols('x')
def f_left(x):return x-1
def f_middle(x):return 0
def f_right(x):return x+1
sy.limit(f_left(x),x,0,dir='-'),sy.limit(f_right(x),x,0,dir='+')
>>>(-1,1)

趋于0的左右极限不相等,故当x->0时函数极限不存在。

你可能感兴趣的:(Python漫游数学王国,python,高等数学极限)