极限的性质【下】《用Manim可视化》

2024-08-31 11:52
文章标签 可视化 极限 性质 manim

本文主要是介绍极限的性质【下】《用Manim可视化》,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

通过前面的极限的定义,现在是计算极限的时候了。然而,在此之前,我们需要一些极限的性质,这将使我们的工作变得简单一些。我们先来看看这些。

接下来的例子中f(x)=x^2-1

极限的性质:

6.幂函数的极限

\mathop {\lim }\limits_{x \to a} {\left[ {f\left( x \right)} \right]^n} = {\left[ {\mathop {\lim }\limits_{x \to a} f\left( x \right)} \right]^n},\,\,\,\,{\mbox{where }}n{\mbox{ is any real number}}

 在这个性质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))

代码解释:

  1. 导入库:使用Manim库进行动画生成。
  2. 创建类:定义类LimitPowerPropertyVisualization,继承自Scene,表示一个动画场景。
  3. 构建坐标轴:创建x和y的坐标轴,设置适当的范围。
  4. 定义函数:定义 f(x)=x2−1f(x)=x2−1。
  5. 定义常量:设置考察点 a=1a=1 和实数 n=3n=3。
  6. 绘制图形:绘制函数 f(x)f(x) 和其幂函数 f(x)nf(x)n。
  7. 计算极限值:在点 aa 处计算极限值,并计算其幂。
  8. 创建极限点:在图上标记出函数的极限值和幂函数的极限值。
  9. 添加注释:为极限值添加文本注释,显示各自的极限值。
  10. 动画效果:逐步展示所有图形、极限点和注释,以便观众理解极限的性质。
  11. 高亮显示:在等待一段时间后,将极限点高亮显示,最后淡出所有元素。

 7.函数,

\mathop {\lim }\limits_{x \to a} \left[ {\sqrt[n]{​{f\left( x \right)}}} \right] = \sqrt[n]{​{\mathop {\lim }\limits_{x \to a} f\left( x \right)}}

这只是上一个例子的一个特例

 

通过可视化我们得到下面的图像:

 示例代码:

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.常熟的极限

\mathop {\lim }\limits_{x \to a} c = c,\,\,\,\,c{\mbox{ is any real number}}换句话说,常数的极限就是常数本身。你们应该能够通过画的图形来说服自己f\left( x \right) = c

其中 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))

代码解释:

  1. 导入库:使用Manim库进行动画生成。
  2. 创建类:定义类LimitConstantVisualization,继承自Scene,表示一个动画场景。
  3. 构建坐标轴:创建x和y的坐标轴,设置适当的范围。
  4. 定义常数:设置常数 c=2c=2(可以根据需要更改)。
  5. 绘制常数函数图形:绘制常数函数 f(x)=cf(x)=c 的图形。
  6. 定义考察点:设置考察点 a=1a=1。
  7. 创建极限点:在图上标记出常数函数的极限值。
  8. 添加注释:为极限值添加文本注释,显示极限的结果。
  9. 动画效果:逐步展示所有图形、极限点和注释,以便观众理解极限的性质。
  10. 高亮显示:在等待一段时间后,将极限点高亮显示,最后淡出所有元素。

8.直线函数的极限

.\mathop {\lim }\limits_{x \to a} x = a

 和上一题一样,你应该能够通过画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.幂函数的极限

\mathop {\lim }\limits_{x \to a} {x^n} = {a^n} 

 

 这是在函数趋近于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))

代码解释:

  1. 导入库:使用Manim库进行动画生成。
  2. 创建类:定义类LimitPowerFunctionVisualization,继承自Scene,表示一个动画场景。
  3. 构建坐标轴:创建x和y的坐标轴,设置适当的范围。
  4. 定义考察点:设置考察点 a=2和指数 n=2(可以根据需要更改)。
  5. 绘制幂函数图形:绘制函数 f(x)=x^n 的图形。
  6. 创建极限点:在图上标记出函数的极限值。
  7. 添加注释:为极限值添加文本注释,显示极限的结果。
  8. 动画效果:逐步展示所有图形、极限点和注释,以便观众理解极限的性质。
  9. 高亮显示:在等待一段时间后,将极限点高亮显示,最后淡出所有元素。

这篇关于极限的性质【下】《用Manim可视化》的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1123826

相关文章

Python数据分析与可视化的全面指南(从数据清洗到图表呈现)

《Python数据分析与可视化的全面指南(从数据清洗到图表呈现)》Python是数据分析与可视化领域中最受欢迎的编程语言之一,凭借其丰富的库和工具,Python能够帮助我们快速处理、分析数据并生成高质... 目录一、数据采集与初步探索二、数据清洗的七种武器1. 缺失值处理策略2. 异常值检测与修正3. 数据

使用Python和Matplotlib实现可视化字体轮廓(从路径数据到矢量图形)

《使用Python和Matplotlib实现可视化字体轮廓(从路径数据到矢量图形)》字体设计和矢量图形处理是编程中一个有趣且实用的领域,通过Python的matplotlib库,我们可以轻松将字体轮廓... 目录背景知识字体轮廓的表示实现步骤1. 安装依赖库2. 准备数据3. 解析路径指令4. 绘制图形关键

8种快速易用的Python Matplotlib数据可视化方法汇总(附源码)

《8种快速易用的PythonMatplotlib数据可视化方法汇总(附源码)》你是否曾经面对一堆复杂的数据,却不知道如何让它们变得直观易懂?别慌,Python的Matplotlib库是你数据可视化的... 目录引言1. 折线图(Line Plot)——趋势分析2. 柱状图(Bar Chart)——对比分析3

使用Vue-ECharts实现数据可视化图表功能

《使用Vue-ECharts实现数据可视化图表功能》在前端开发中,经常会遇到需要展示数据可视化的需求,比如柱状图、折线图、饼图等,这类需求不仅要求我们准确地将数据呈现出来,还需要兼顾美观与交互体验,所... 目录前言为什么选择 vue-ECharts?1. 基于 ECharts,功能强大2. 更符合 Vue

Git可视化管理工具(SourceTree)使用操作大全经典

《Git可视化管理工具(SourceTree)使用操作大全经典》本文详细介绍了SourceTree作为Git可视化管理工具的常用操作,包括连接远程仓库、添加SSH密钥、克隆仓库、设置默认项目目录、代码... 目录前言:连接Gitee or github,获取代码:在SourceTree中添加SSH密钥:Cl

Pandas中统计汇总可视化函数plot()的使用

《Pandas中统计汇总可视化函数plot()的使用》Pandas提供了许多强大的数据处理和分析功能,其中plot()函数就是其可视化功能的一个重要组成部分,本文主要介绍了Pandas中统计汇总可视化... 目录一、plot()函数简介二、plot()函数的基本用法三、plot()函数的参数详解四、使用pl

使用Python实现矢量路径的压缩、解压与可视化

《使用Python实现矢量路径的压缩、解压与可视化》在图形设计和Web开发中,矢量路径数据的高效存储与传输至关重要,本文将通过一个Python示例,展示如何将复杂的矢量路径命令序列压缩为JSON格式,... 目录引言核心功能概述1. 路径命令解析2. 路径数据压缩3. 路径数据解压4. 可视化代码实现详解1

Python 交互式可视化的利器Bokeh的使用

《Python交互式可视化的利器Bokeh的使用》Bokeh是一个专注于Web端交互式数据可视化的Python库,本文主要介绍了Python交互式可视化的利器Bokeh的使用,具有一定的参考价值,感... 目录1. Bokeh 简介1.1 为什么选择 Bokeh1.2 安装与环境配置2. Bokeh 基础2

基于Python打造一个可视化FTP服务器

《基于Python打造一个可视化FTP服务器》在日常办公和团队协作中,文件共享是一个不可或缺的需求,所以本文将使用Python+Tkinter+pyftpdlib开发一款可视化FTP服务器,有需要的小... 目录1. 概述2. 功能介绍3. 如何使用4. 代码解析5. 运行效果6.相关源码7. 总结与展望1

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1