本文主要是介绍微积分直觉:隐含微分,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
一、介绍
二、梯子问题
三、结论
四、一个额外的例子
一、介绍
让我们想象一个半径为 5 的圆,以 xy 平面为中心。现在假设我们想在点 (3,4) 处找到一条切线到圆的斜率。
好吧,为了做到这一点,我们必须非常接近圆和切线之间的空间,并沿着该曲线迈出一小步。该步骤的 y 分量为 dy,x 分量为 dx。斜率是 rise over run 或 dy 除以 dx。
与微积分中的其他切线斜率问题不同,这条曲线不是函数的图,因此我们不能采用简单的导数。x 和 y 不是输入和输出,但它们是相互依赖的值。圆的方程称为隐式曲线,它是一组 xy 点,满足以两个变量表示的一些属性。
如何找到 dy/dx 的过程非常奇怪!你对两边都取导数,所以对于 x²,你会写 2x dx,y² 变成 2y dy。右侧常数的导数为零。
这似乎与计算导数的常规方法非常不同。对具有多个变量的表达式进行导数意味着什么?为什么 dy 和 dx 是这样写的?
如果你盲目地向前移动,你会得到 dy/dx 等于 -x/y。因此,在坐标为 3,4 的点处,该斜率将为负 3 除以 4。这个奇怪的过程称为隐式微分。稍后我们将解释如何进行互操作,但首先让我们看看另一个有助于我们实现目标的问题。
二、梯子问题
想象一下,一个 5 米长的梯子靠墙支撑,梯子的顶部高出地面 4 米。那么根据勾股定理,底部必须在 3 米远的地方。
假设梯子正在滑落,以至于梯子的顶部每秒下降 1 米。现在的问题是,在最初的那一刻,底部梯子从墙上移动的速度是多少?由于所有这些因素都是相关的,我们应该有足够的信息来解决。
第一步是为所有数量命名。从梯子顶部到地面的距离称为 y(t)。梯子底部与墙壁的距离称为 x(t)。将这些项联系起来的关键方程是勾股定理 (y(t)² + x(t)² = ⁵²)。
解决这个问题的一种方法是隔离 x(t),并根据每秒 1 米的丢包率找出 y(t) 必须是什么。然后你可以对结果函数进行导数(x 相对于时间的变化率)。
但是,对于同一问题,也存在不同的思考方式。方程的左侧是时间 (y(t)² + x(t)²) 的函数,它恰好等于一个常数,这意味着该值不会随着时间的流逝而改变,但仍被写为依赖于时间的表达式。这意味着我们可以像任何其他将 t 作为输入的函数一样操作它。这意味着我们可以取这个左侧的导数。这意味着,如果经过一点时间(一些小的 dt),这会导致 y 略微减少,x 略微增加。那么这就给我们留下了一个问题,x(t)² + y(t)² 变化了多少?
但是,对于同一问题,也存在不同的思考方式。方程的左侧是时间 (y(t)² + x(t)²) 的函数,它恰好等于一个常数,这意味着该值不会随着时间的流逝而改变,但仍被写为依赖于时间的表达式。这意味着我们可以像任何其他将 t 作为输入的函数一样操作它。这意味着我们可以取这个左侧的导数。这意味着,如果经过一点时间(一些小的 dt),这会导致 y 略微减少,x 略微增加。那么这就给我们留下了一个问题,x(t)² + y(t)² 变化了多少?
我们知道导数应该是 0,因为方程等于一个常数。但是,当您计算这个导数时,您实际上会得到什么呢?
x(t)² 的导数是 x(t) 的 2 乘以 x 的导数(链式法则)。2x dx 表示由 x 的某个变化引起的 x 平方变化的大小,然后我们除以 dt。同样,y(t)² 的变化速率是 y(t) 的 2 乘以 y 的导数。
现在这个整个表达式必须等于 0,这只是意味着 x² + y² 在梯子移动时不应该改变。在时间 t 等于 0 的起点,高度 y(t) 为 4 米,距离 x(t) 为 3 米。由于梯子的顶部每秒下降 1 米,因此导数 dy/dt 为每秒 -1 米。这提供了足够的信息来隔离 dx/dt。
当你计算时,dx/dt 结果是每秒 4/3 米。
三、结论
我解释这个梯子问题的原因是,我希望你把它比作求一条切线到一个圆的斜率的问题。在这两种情况下,我们都有 x² + y² = ⁵² 的方程。此外,在这两种情况下,我们最终都采用了表达式的每一侧的导数。但是对于梯子问题,表达式是时间的函数,因此取导数具有明确的含义(表达式随时间变化而变化的速率)。
但让圆示例奇怪的是,导数不是说 dt 已经过去了少量时间,这会导致 x 和 y 发生变化,而是只有这些自由浮动的轻推(dx 和 dy),它们与时间等公共变量无关。
让我们以一种很好的方式考虑这个问题。假设 x² + y² 等于 S。S 是两个变量(x 和 y)的函数。它获取平面上的每一个点 xy 并将其与一个数字相关联。对于圆上的点,该数字恰好是 25。如果您离开圆圈,该值会更大。对于更靠近原点的其他点 xy,该数字会更小。取 S 的导数意味着考虑这两个变量的微小变化,一些微小的变化 dy 到 y,一些微小的变化 dx 到 x(不一定让你留在圆圈里,它可以在任何方向)。从那里你问 S 的值变化了多少?
微移之前和之后的 S 值之差称为 dS。
现在让我们看看这张图片:
在这张图片中,我们可以看到我们从 x 等于 3 且 y 等于 4 的点开始。假设 dx 为 -0.02,dy 为 -0.01。
S 的减少(该步骤中 x² + y² 的变化量)由上面的等式表示。这就是这个衍生词的真正含义。请务必注意,这是一个近似值,对于较小的微移,它会变得越来越真实。这里的关键点是,当你把自己限制在圆上的点上时,你基本上是在说你想确保 S 的值不会改变(它从值 25 开始,你想保持它在那里,也就是 dS 应该是 0)。将 2x dx + 2y dy 设置为 0 是使这些微小步骤保持在圆圈上的条件。同样,这只是一个近似值,更准确地说,它使您保持在圆的切线上,但对于足够小的步长,它们本质上是相同的。
四、一个额外的例子
表达式 x² + y² = ⁵² 没有什么特别之处,所以让我们也考虑一下表达式 sin(x)y² = x。
这些曲线表示 sin(x) 时间 y² 的值恰好等于 x 值的所有点 xy。现在想象一下,使用组件 dx dy 迈出一些小步骤,而不是一个不一定让您保持在曲线上的步骤。
对这个方程的每一侧进行导数,就可以告诉我们在步骤中该侧的值发生了多少变化。当我们使用乘积规则对每一方进行导数时,我们得到的是:
将这些边设置为彼此相等是一种说法,无论坐标 dx 和 dy 是什么步长,如果它要使我们保持在曲线上,那么左手边和右边的值必须变化相同的量(这是原始方程 sin(x)y² = x 保持为真的唯一方式)。
从这里开始,根据你要解决的问题,你可以用代数的方式处理一些东西。最常见的目标通常是找到 dy 除以 dx。
这篇关于微积分直觉:隐含微分的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!