导数的介绍和导数的定义

1.介绍

前面的内容在我们提过,函数在某个位置的导数是它在该位置上的斜率。

那斜率数什么呢?

我们可以找到两点之间的平均斜率。就像下面的图像一样:

但是我们如何找到某个点的斜率呢?没有什么办法可完成的!就像跟他一样:

 但有个方法:但是对于导数,我们使用了一个小的差异......;...然后让它缩小到零。就像它一样:

 我们来求导数吧!。为了求函数y = f(x)的导数,我们使用斜率公式:

Slope = \frac{Change in Y}{Change in X} = \frac{\Delta y}{\Delta x}

 (从图表中)我们可以看到:


X从X变为 (X +Δx):

Y从f(X)变为 f(X +Δx):

 现在按照以下步骤操作:

  • 代入斜率公式:\frac{\Delta y}{\Delta x}=\frac{f(x+\Delta x)-f(x)}{\Delta x}
  • 尽可能地简化它
  • 然后使 Δx 向零收缩。

 跟下面的例子一样:

 很多情况下我们用dx代替Δx趋向0。导数通常写成 \frac{d}{dx}  是这样的 :  \frac{d}{dx}x^2=2x

"x^2的导数等于2x"或者简称为"\frac{d}{dx}x^2=2x"。

所以\frac{d}{dx}x^2=2x到底是什么意思?

这意味着,对于函数x^2,任意点的斜率或“变化率”是2x。

  • 当x=2时,斜率是2x = 4,如图所示
  • 或者当x=5时,斜率是2x = 10,以此类推。

2.导数的定义

        在极限这一章的第一节中,我们看到了切线斜率的计算,函数的瞬时变化率,以及物体在x点的瞬时速度x=a都要求我们计算下面的极限。

\mathop {\lim }\limits_{x \to a} \frac{​{f\left( x \right) - f\left( a \right)}}{​{x - a}}

我们还看到,稍微变换一下符号这个极限也可以写成,

\mathop {\lim }\limits_{h \to 0} \frac{​{f\left(a+h \right) - f\left( a \right)}}{​{h}}                                                   (1)

这是一个非常重要的极限,它出现在很多地方,所以我们给它起了一个名字。我们称它为导数。这是导数的官方定义。

导数的定义:

f'\left( x \right) = \mathop {\lim }\limits_{h \to 0} \frac{​{f\left( {x + h} \right) - f\left( x \right)}}{h}                                (2)

 我们用这个定义计算一些导数。

例1:用导数的定义求下列函数的导数。

f\left( x \right) = 2{x^2} - 16x + 35

 :我们真正需要做的就是把这个函数代入导数的定义中的(2),然后做一些代数运算。然而,不可否认,代数有时会让人有些不愉快,但这只是代数,所以不要对我们现在计算导数的事实感到兴奋。
        首先把函数代入导数的定义中。

                                                ​​​​​​​        f'( x ) = \mathop {\lim }\limits_{h \to 0} \frac{​{f\left( {x + h} \right) - f\left( x \right)}}{h}

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​   = \mathop {\lim }\limits_{h \to 0} \frac{​{2{​{\left( {x + h} \right)}^2} - 16\left( {x + h} \right) + 35 - \left( {2{x^2} - 16x + 35} \right)}}{h}

 在做减法的时候要小心,确保你正确地处理了括号。现在,我们从上一章知道我们不能只代入h=0
,因为这将给我们一个除零误差。所以,我们要做一些功。在这种情况下,这意味着把所有项相乘然后把负号分配到第二项上。这样做,

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​f'( x ) = \mathop {\lim }\limits_{h \to 0} \frac{​{2{x^2} + 4xh + 2{h^2} - 16x - 16h + 35 - 2{x^2} + 16x - 35}}{h}

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​  = \mathop {\lim }\limits_{h \to 0} \frac{​{4xh + 2{h^2} - 16h}}{h}

注意分子中没有h的每一项都消掉了我们现在可以把h从分子中提出来这样就可以消掉分母中的h。然后我们可以计算极限。

f'( x) = \mathop {\lim }\limits_{h \to 0} \frac{​{h\left( {4x + 2h - 16} \right)}}{h} \\ = \mathop {\lim }\limits_{h \to 0} 4x + 2h - 16 \\ = 4x - 16

 所以,导数是,

f'\left( x \right) = 4x - 16

 示例代码1:

from manim import *  

class FunctionAndDerivative(Scene):  
    def construct(self):  
        # Define axes  
        axes = Axes(  
            x_range=[-1, 6, 1],  
            y_range=[-1, 10, 1],  
            axis_config={"color": BLUE},  
        )  

        # Define the function f(x)  
        f = lambda x: 2 * x**2 - 16 * x + 35  
        graph = axes.plot(f, color=WHITE)  
        graph_label = axes.get_graph_label(graph, label='f(x)')  

        # Define the derivative f'(x)  
        f_prime = lambda x: 4 * x - 16  
        derivative_graph = axes.plot(f_prime, color=YELLOW)  
        derivative_label = axes.get_graph_label(derivative_graph, label="f'(x)", x_val=5)  

        # Add everything to the scene  
        self.play(Create(axes), Create(graph), Write(graph_label))  
        self.play(Create(derivative_graph), Write(derivative_label))  
        self.wait(2)  

示例代码2: 

from manim import *

class FunctionAndDerivative01(Scene):
    def construct(self):
        # Define axes
        axes = Axes(
            x_range=[-1, 6, 1],
            y_range=[-1, 10, 1],
            axis_config={"color": BLUE},
        )

        # Define the function f(x)
        f = lambda x: 2 * x**2 - 16 * x + 35
        f_prime = lambda x: 4 * x - 16  # Move f_prime here
        graph = axes.plot(f, color=WHITE)
        graph_label = axes.get_graph_label(graph, label='f(x)')

        # Create a moving point on the graph
        moving_point = Dot(color=RED).move_to(axes.c2p(2, f(2)))

        # Create a tangent line
        tangent_line = always_redraw(lambda: Line(
            start=axes.c2p(moving_point.get_x(), f(moving_point.get_x())) + LEFT,
            end=axes.c2p(moving_point.get_x(), f(moving_point.get_x())) + RIGHT
        ).shift(1 * UP).rotate(np.arctan(f_prime(moving_point.get_x()))))

        # Define the derivative f'(x)
        derivative_graph = axes.plot(f_prime, color=YELLOW)
        derivative_label = axes.get_graph_label(derivative_graph, label="f'(x)", x_val=5)

        # Add everything to the scene
        self.play(Create(axes), Create(graph), Write(graph_label))
        self.play(Create(derivative_graph), Write(derivative_label))
        self.play(Create(moving_point), Create(tangent_line))

        # Animate the moving point and tangent line
        for x in np.arange(2, 5, 0.1):
            self.play(moving_point.animate.move_to(axes.c2p(x, f(x))), run_time=0.1)
            self.wait(0.1)

        self.wait(2)

 

 

  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
SQLAlchemy 是一个 SQL 工具包和对象关系映射(ORM)库,用于 Python 编程语言。它提供了一个高级的 SQL 工具和对象关系映射工具,允许开发者以 Python 类和对象的形式操作数据库,而无需编写大量的 SQL 语句。SQLAlchemy 建立在 DBAPI 之上,支持多种数据库后端,如 SQLite, MySQL, PostgreSQL 等。 SQLAlchemy 的核心功能: 对象关系映射(ORM): SQLAlchemy 允许开发者使用 Python 类来表示数据库表,使用类的实例表示表中的行。 开发者可以定义类之间的关系(如一对多、多对多),SQLAlchemy 会自动处理这些关系在数据库中的映射。 通过 ORM,开发者可以像操作 Python 对象一样操作数据库,这大大简化了数据库操作的复杂性。 表达式语言: SQLAlchemy 提供了一个丰富的 SQL 表达式语言,允许开发者以 Python 表达式的方式编写复杂的 SQL 查询。 表达式语言提供了对 SQL 语句的灵活控制,同时保持了代码的可读性和可维护性。 数据库引擎和连接池: SQLAlchemy 支持多种数据库后端,并且为每种后端提供了对应的数据库引擎。 它还提供了连接池管理功能,以优化数据库连接的创建、使用和释放。 会话管理: SQLAlchemy 使用会话(Session)来管理对象的持久化状态。 会话提供了一个工作单元(unit of work)和身份映射(identity map)的概念,使得对象的状态管理和查询更加高效。 事件系统: SQLAlchemy 提供了一个事件系统,允许开发者在 ORM 的各个生命周期阶段插入自定义的钩子函数。 这使得开发者可以在对象加载、修改、删除等操作时执行额外的逻辑。
SQLAlchemy 是一个 SQL 工具包和对象关系映射(ORM)库,用于 Python 编程语言。它提供了一个高级的 SQL 工具和对象关系映射工具,允许开发者以 Python 类和对象的形式操作数据库,而无需编写大量的 SQL 语句。SQLAlchemy 建立在 DBAPI 之上,支持多种数据库后端,如 SQLite, MySQL, PostgreSQL 等。 SQLAlchemy 的核心功能: 对象关系映射(ORM): SQLAlchemy 允许开发者使用 Python 类来表示数据库表,使用类的实例表示表中的行。 开发者可以定义类之间的关系(如一对多、多对多),SQLAlchemy 会自动处理这些关系在数据库中的映射。 通过 ORM,开发者可以像操作 Python 对象一样操作数据库,这大大简化了数据库操作的复杂性。 表达式语言: SQLAlchemy 提供了一个丰富的 SQL 表达式语言,允许开发者以 Python 表达式的方式编写复杂的 SQL 查询。 表达式语言提供了对 SQL 语句的灵活控制,同时保持了代码的可读性和可维护性。 数据库引擎和连接池: SQLAlchemy 支持多种数据库后端,并且为每种后端提供了对应的数据库引擎。 它还提供了连接池管理功能,以优化数据库连接的创建、使用和释放。 会话管理: SQLAlchemy 使用会话(Session)来管理对象的持久化状态。 会话提供了一个工作单元(unit of work)和身份映射(identity map)的概念,使得对象的状态管理和查询更加高效。 事件系统: SQLAlchemy 提供了一个事件系统,允许开发者在 ORM 的各个生命周期阶段插入自定义的钩子函数。 这使得开发者可以在对象加载、修改、删除等操作时执行额外的逻辑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Yasen.M

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值