提问人:Createdd 提问时间:4/19/2023 更新时间:4/19/2023 访问量:108
如何在 Python 中可视化 epsilon-delta 标准?
How can I visualize the epsilon-delta criterion in Python?
问:
我是一名数学学生,我试图理解极限的 epsilon-delta 标准。我知道该标准说,对于每个 epsilon > 0,都存在一个 delta > 0,这样如果 0 < |x - c|<增量,则 |f(x) - L|< epsilon,其中 L 是 x 接近 c 时 f(x) 的极限。
我想使用 Matplotlib 在 Python 中可视化这个概念,这样我就可以探索 epsilon 和 delta 的不同值,并查看它们如何影响函数 f(x)。理想情况下,我想创建一个交互式绘图,在其中我可以使用滑块更改 epsilon 和 delta 的值。
答:
2赞
Createdd
4/19/2023
#1
下面完成这项工作,如下所示:
import matplotlib.pyplot as plt
import numpy as np
from ipywidgets import interact, FloatSlider
def f(x):
return np.sin(x)
def plot_epsilon_delta(epsilon, delta):
# Define the limit point L
L = 0
# Define the range of x values and the point c
xmin, xmax = -5, 5
c = 0
# Create the plot
fig, ax = plt.subplots(figsize=(8, 6))
# Plot the function and the limit point
x = np.linspace(xmin, xmax, 1000)
y = f(x)
ax.plot(x, y, label='f(x)')
ax.axhline(L, color='k', linestyle='--', label='Limit L')
# Plot the horizontal lines at L +/- epsilon
ax.axhline(L + epsilon, color='r', linestyle='--', label='L + epsilon')
ax.axhline(L - epsilon, color='r', linestyle='--', label='L - epsilon')
# Plot the vertical line at c
ax.axvline(c, color='g', linestyle='--', label='x approaches c')
# Plot the buffer zone around c
ax.axvline(c + delta, color='b', linestyle='--', label='c + delta')
ax.axvline(c - delta, color='b', linestyle='--', label='c - delta')
# Plot the region where |f(x) - L| < epsilon
x_region = np.linspace(c - delta, c + delta, 100)
y_region = f(x_region)
ax.fill_between(x_region, L - epsilon, L + epsilon, where=np.abs(y_region - L) < epsilon, alpha=0.3, color='gray', label='|f(x) - L| < epsilon')
# Set the plot title and axis labels
ax.set_title('Epsilon-Delta Criterion')
ax.set_xlabel('x')
ax.set_ylabel('f(x)')
# Add a legend to the plot
ax.legend()
plt.show()
# Create sliders for epsilon and delta
epsilon_slider = FloatSlider(min=0.1, max=1.0, step=0.1, value=0.5, description='Epsilon:')
delta_slider = FloatSlider(min=0.1, max=1.0, step=0.1, value=0.5, description='Delta:')
# Create the interactive plot
interact(plot_epsilon_delta, epsilon=epsilon_slider, delta=delta_slider)
评论
0赞
Stef
4/19/2023
棒!传说可能只是.x approaches c
c
0赞
President James K. Polk
4/20/2023
哈哈,我很惊讶有人拥有您正在寻找的确切软件。然后我向下滚动,看到是你!
0赞
Createdd
4/20/2023
是的,我在做作业时就研究了它,并认为它可能值得分享。与其说是关于技术堆栈,不如说是使用 python 将其可视化;)
评论