1.介绍
前面的内容在我们提过,函数在某个位置的导数是它在该位置上的斜率。
那斜率数什么呢?
我们可以找到两点之间的平均斜率。就像下面的图像一样:
但是我们如何找到某个点的斜率呢?没有什么办法可完成的!就像跟他一样:
但有个方法:但是对于导数,我们使用了一个小的差异......;...然后让它缩小到零。就像它一样:
我们来求导数吧!。为了求函数y = f(x)的导数,我们使用斜率公式:
(从图表中)我们可以看到:
X从X变为 (X +Δx):
Y从f(X)变为 f(X +Δx):
现在按照以下步骤操作:
- 代入斜率公式:
- 尽可能地简化它
- 然后使 Δx 向零收缩。
跟下面的例子一样:
很多情况下我们用dx代替Δx趋向0。导数通常写成 是这样的 :
"的导数等于2x"或者简称为"
"。
所以
到底是什么意思?
这意味着,对于函数,任意点的斜率或“变化率”是2x。
- 当x=2时,斜率是2x = 4,如图所示
-
- 或者当x=5时,斜率是2x = 10,以此类推。
2.导数的定义
在极限这一章的第一节中,我们看到了切线斜率的计算,函数的瞬时变化率,以及物体在x点的瞬时速度x=a都要求我们计算下面的极限。
我们还看到,稍微变换一下符号这个极限也可以写成,
(1)
这是一个非常重要的极限,它出现在很多地方,所以我们给它起了一个名字。我们称它为导数。这是导数的官方定义。
导数的定义:
(2)
我们用这个定义计算一些导数。
例1:用导数的定义求下列函数的导数。
解:我们真正需要做的就是把这个函数代入导数的定义中的(2),然后做一些代数运算。然而,不可否认,代数有时会让人有些不愉快,但这只是代数,所以不要对我们现在计算导数的事实感到兴奋。
首先把函数代入导数的定义中。
在做减法的时候要小心,确保你正确地处理了括号。现在,我们从上一章知道我们不能只代入h=0
,因为这将给我们一个除零误差。所以,我们要做一些功。在这种情况下,这意味着把所有项相乘然后把负号分配到第二项上。这样做,
注意分子中没有h的每一项都消掉了我们现在可以把h从分子中提出来这样就可以消掉分母中的h。然后我们可以计算极限。
所以,导数是,
示例代码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)