本文主要是介绍极限的性质【下】《用Manim可视化》,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
通过前面的极限的定义,现在是计算极限的时候了。然而,在此之前,我们需要一些极限的性质,这将使我们的工作变得简单一些。我们先来看看这些。
接下来的例子中
极限的性质:
6.幂函数的极限
在这个性质n中可以是任何实数(正数、负数、整数、分数、无理数、零等)。
例如,考虑的情况n=2。
对于任意整数n都可以这样做。
接下来我们实现一下该性质:
示例代码:
from manim import * class LimitPowerPropertyVisualization(Scene): def construct(self): # 创建坐标轴 axes = Axes( x_range=[-1, 4, 1], y_range=[-1, 40, 5], axis_config={"color": BLUE}, ) # 定义函数 f(x) def f(x): return x**2 - 1 # 定义常量 a 和 n a = 2 # 所考察的点 n = 3 # 实数 n # 创建图形 f_graph = axes.plot(f, color=YELLOW, x_range=[-3, 3]) # 计算极限值 limit_f_a = f(a) limit_power_a = limit_f_a ** n # 创建幂函数的图形 power_graph = axes.plot(lambda x: f(x) ** n, color=GREEN, x_range=[-3, 3]) # 创建极限点 limit_dot_f = Dot(axes.c2p(a, limit_f_a), color=YELLOW) limit_dot_power = Dot(axes.c2p(a, limit_power_a), color=GREEN) # 创建极限值注释 limit_text_f = MathTex(r"\lim_{x \to a} f(x) = ", limit_f_a).next_to(limit_dot_f, RIGHT) limit_text_power = MathTex(r"\lim_{x \to a} \left(f(x)\right)^n = ", limit_power_a).next_to(limit_dot_power, RIGHT) # 添加所有元素 self.play(Create(axes), Create(f_graph)) self.play(Create(power_graph)) self.play(Create(limit_dot_f), Create(limit_dot_power)) self.play(Write(limit_text_f), Write(limit_text_power)) # 等待展示 self.wait(2) # 高亮极限点 self.play(limit_dot_f.animate.set_color(ORANGE), limit_dot_power.animate.set_color(ORANGE)) self.wait(2) # 淡出所有元素 self.play(FadeOut(axes), FadeOut(f_graph), FadeOut(power_graph), FadeOut(limit_dot_f), FadeOut(limit_dot_power), FadeOut(limit_text_f), FadeOut(limit_text_power))
代码解释:
- 导入库:使用Manim库进行动画生成。
- 创建类:定义类
LimitPowerPropertyVisualization
,继承自Scene
,表示一个动画场景。 - 构建坐标轴:创建x和y的坐标轴,设置适当的范围。
- 定义函数:定义 f(x)=x2−1f(x)=x2−1。
- 定义常量:设置考察点 a=1a=1 和实数 n=3n=3。
- 绘制图形:绘制函数 f(x)f(x) 和其幂函数 f(x)nf(x)n。
- 计算极限值:在点 aa 处计算极限值,并计算其幂。
- 创建极限点:在图上标记出函数的极限值和幂函数的极限值。
- 添加注释:为极限值添加文本注释,显示各自的极限值。
- 动画效果:逐步展示所有图形、极限点和注释,以便观众理解极限的性质。
- 高亮显示:在等待一段时间后,将极限点高亮显示,最后淡出所有元素。
7.函数,
这只是上一个例子的一个特例
通过可视化我们得到下面的图像:
示例代码:
from manim import * class LimitRootPropertyVisualization(Scene): def construct(self): # 创建坐标轴 axes = Axes( x_range=[-1, 8, 1], y_range=[-1, 8, 1], axis_config={"color": BLUE}, ) # 定义函数 f(x) def f(x): return x**2 - 1 # 定义常量 a 和 n a = 3 # 所考察的点 n = 3 # 实数 n # 创建图形 f_graph = axes.plot(f, color=YELLOW, x_range=[1.02, 8]) # 计算极限值 limit_f_a = f(a) limit_root_a = limit_f_a ** (1/n) # 创建平方根函数的图形 root_graph = axes.plot(lambda x: f(x) ** (1/n), color=GREEN, x_range=[1.05,8]) # 创建极限点 limit_dot_f = Dot(axes.c2p(a, limit_f_a), color=YELLOW) limit_dot_root = Dot(axes.c2p(a, limit_root_a), color=GREEN) # 创建极限值注释 limit_text_f = MathTex(r"\lim_{x \to a} f(x) = ", limit_f_a).next_to(limit_dot_f, RIGHT) limit_text_root = MathTex(r"\lim_{x \to a} \sqrt[n]{f(x)} = ", limit_root_a).next_to(limit_dot_root, RIGHT) # 添加所有元素 self.play(Create(axes), Create(f_graph)) self.play(Create(root_graph)) self.play(Create(limit_dot_f), Create(limit_dot_root)) self.play(Write(limit_text_f), Write(limit_text_root)) # 等待展示 self.wait(2) # 高亮极限点 self.play(limit_dot_f.animate.set_color(ORANGE), limit_dot_root.animate.set_color(ORANGE)) self.wait(2) # 淡出所有元素 self.play(FadeOut(axes), FadeOut(f_graph), FadeOut(root_graph), FadeOut(limit_dot_f), FadeOut(limit_dot_root), FadeOut(limit_text_f), FadeOut(limit_text_root))
计算平方根时,可能对负数进行了指数运算,导致结果为无效(NaN)值。在我们的例子中,函数 f(x)=x2−1 在 x<−1 或 x>1 的情况下返回负值,因此在这些区间内计算平方根时会产生警告。
为了解决这个问题,可以在绘制平方根图形时,限制 x
的范围为能保证 f(x)为非负值的部分。对于函数 f(x):
- 当 f(x)≥0 时,x 的范围为 [−1,1]。
7.常熟的极限
换句话说,常数的极限就是常数本身。你们应该能够通过画的图形来说服自己。
其中 cc是任意实数。我们将绘制常数函数 f(x)=c 的图形,并展示其极限。
示例代码:
from manim import * class LimitConstantVisualization(Scene): def construct(self): # 创建坐标轴 axes = Axes( x_range=[-3, 3, 1], y_range=[-1, 5, 1], axis_config={"color": BLUE}, ) # 定义常数 c c = 2 # 任意实数 # 创建常数函数图形 constant_graph = axes.plot(lambda x: c, color=YELLOW, x_range=[-3, 3]) # 定义考察点 a a = 1 # 创建极限点 limit_dot = Dot(axes.c2p(a, c), color=YELLOW) # 创建极限值注释 limit_text = MathTex(r"\lim_{x \to a} c = ", c).next_to(limit_dot, RIGHT) # 添加所有元素 self.play(Create(axes), Create(constant_graph)) self.play(Create(limit_dot)) self.play(Write(limit_text)) # 等待展示 self.wait(2) # 高亮极限点 self.play(limit_dot.animate.set_color(ORANGE)) self.wait(2) # 淡出所有元素 self.play(FadeOut(axes), FadeOut(constant_graph), FadeOut(limit_dot), FadeOut(limit_text))
代码解释:
- 导入库:使用Manim库进行动画生成。
- 创建类:定义类
LimitConstantVisualization
,继承自Scene
,表示一个动画场景。 - 构建坐标轴:创建x和y的坐标轴,设置适当的范围。
- 定义常数:设置常数 c=2c=2(可以根据需要更改)。
- 绘制常数函数图形:绘制常数函数 f(x)=cf(x)=c 的图形。
- 定义考察点:设置考察点 a=1a=1。
- 创建极限点:在图上标记出常数函数的极限值。
- 添加注释:为极限值添加文本注释,显示极限的结果。
- 动画效果:逐步展示所有图形、极限点和注释,以便观众理解极限的性质。
- 高亮显示:在等待一段时间后,将极限点高亮显示,最后淡出所有元素。
8.直线函数的极限
.
和上一题一样,你应该能够通过画f的图像来说服自己f(x)= x
示例代码:
from manim import * class LimitIdentityVisualization(Scene): def construct(self): # 创建坐标轴 axes = Axes( x_range=[-3, 3, 1], y_range=[-3, 3, 1], axis_config={"color": BLUE}, ) # 定义考察点 a a = 1 # 可以根据需要更改 # 创建线性函数图形 f(x) = x linear_graph = axes.plot(lambda x: x, color=YELLOW, x_range=[-3, 3]) # 创建极限点 limit_dot = Dot(axes.c2p(a, a), color=YELLOW) # 创建极限值注释 limit_text = MathTex(r"\lim_{x \to a} x = ", a).next_to(limit_dot, RIGHT) # 添加所有元素 self.play(Create(axes), Create(linear_graph)) self.play(Create(limit_dot)) self.play(Write(limit_text)) # 等待展示 self.wait(2) # 高亮极限点 self.play(limit_dot.animate.set_color(ORANGE)) self.wait(2) # 淡出所有元素 self.play(FadeOut(axes), FadeOut(linear_graph), FadeOut(limit_dot), FadeOut(limit_text))
9.幂函数的极限
这是在函数趋近于2是的图像。
示例代码:
from manim import * class LimitPowerFunctionVisualization(Scene): def construct(self): # 创建坐标轴 axes = Axes( x_range=[-3, 3, 1], y_range=[-3, 9, 1], axis_config={"color": BLUE}, ) # 定义考察点 a 和指数 n a = 2 # 可以根据需要更改 n = 2 # 可以根据需要更改 # 创建幂函数图形 f(x) = x^n power_graph = axes.plot(lambda x: x**n, color=YELLOW, x_range=[-3, 3]) # 创建极限点 limit_dot = Dot(axes.c2p(a, a**n), color=YELLOW) # 创建极限值注释 limit_text = MathTex(r"\lim_{x \to a} x^n = ", a**n).next_to(limit_dot, RIGHT) # 添加所有元素 self.play(Create(axes), Create(power_graph)) self.play(Create(limit_dot)) self.play(Write(limit_text)) # 等待展示 self.wait(2) # 高亮极限点 self.play(limit_dot.animate.set_color(ORANGE)) self.wait(2) # 淡出所有元素 self.play(FadeOut(axes), FadeOut(power_graph), FadeOut(limit_dot), FadeOut(limit_text))
代码解释:
- 导入库:使用Manim库进行动画生成。
- 创建类:定义类
LimitPowerFunctionVisualization
,继承自Scene
,表示一个动画场景。 - 构建坐标轴:创建x和y的坐标轴,设置适当的范围。
- 定义考察点:设置考察点 a=2和指数 n=2(可以根据需要更改)。
- 绘制幂函数图形:绘制函数 f(x)=x^n 的图形。
- 创建极限点:在图上标记出函数的极限值。
- 添加注释:为极限值添加文本注释,显示极限的结果。
- 动画效果:逐步展示所有图形、极限点和注释,以便观众理解极限的性质。
- 高亮显示:在等待一段时间后,将极限点高亮显示,最后淡出所有元素。
这篇关于极限的性质【下】《用Manim可视化》的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!