微积分直觉:隐含微分
目录
一、介绍
二、梯子问题
三、结论
四、一个额外的例子
一、介绍
让我们想象一个半径为 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。
相关文章:

微积分直觉:隐含微分
目录 一、介绍 二、梯子问题 三、结论 四、一个额外的例子 一、介绍 让我们想象一个半径为 5 的圆,以 xy 平面为中心。现在假设我们想在点 (3,4) 处找到一条切线到圆的斜率。 好吧,为了做到这一点,我们必须非常接近圆和…...
Matlab自学笔记三十五:表table数据与外部文件的读入和写出
1.首先新建一个表变量t xingming{zhangsan;lisi;wangwu}; xuehao{1001;1002;1003}; chengji[89 95;90 87;88 84]; ttable(xingming,xuehao,chengji) 2.把表t的数据写出到student.txt writetable(t,student.txt) %使用writetable函数写出数据到txt文件 3.从student.txt文…...

闯关leetcode——3.Longest Substring Without Repeating Characters
大纲 题目地址内容 解题代码地址 题目 地址 https://leetcode.com/problems/longest-substring-without-repeating-characters/description/ 内容 Given a string s, find the length of the longest substring without repeating characters. Example 1: Input: s “abc…...
Android Radio2.0——公告注册及监听(三)
前面文章内容介绍了 Radio 相关功能的设置,我们知道可以通过设置来监听不同内容的广播公告,但是在开启对应功能的同时,还需要先注册对应公告监听,这里我们就来看一下广播公告监听的注册流程。 一、注册公告 1、接口封装 private final AtomicBoolean mHasRegisterTa = n…...

【C++】类和对象(三)再探构造函数|static成员函数|友元函数|内部类|匿名对象|对象拷贝时的编译优化
欢迎来到HarperLee的学习笔记! 一、再探构造函数 初始化列表:构造函数初始化的第二种方式(第一种是使用函数体内赋值)。使用方式:以一个冒号:开始,用逗号,分隔数据成员列表,每个成员变量后面跟…...

2024中国算力大会 2024 China Computational Power Conference
文章目录 一、会议详情二、重要信息三、大会介绍四、出席嘉宾五、征稿主题六、咨询 一、会议详情 二、重要信息 大会官网:https://ais.cn/u/vEbMBz提交检索:EI Compendex、IEEE Xplore、Scopus会议时间:2024年9月27-29日会议地点:…...
jEasyUI 扩展行显示细节
jEasyUI 扩展行显示细节 jEasyUI 是一个基于 jQuery 的前端框架,它提供了一系列的 UI 组件,使得 Web 应用的界面开发变得更加简单快捷。在 jEasyUI 的表格(datagrid)组件中,扩展行显示细节是一个常用的功能,它允许用户通过点击一行来展开更多的信息,这样可以有效地展示…...

YOLOv8+Deepsort+PyQt+GUI 语义分割+目标检测+姿态识别 三者合一(集成于一套系统)综合视觉分析系统
综合视觉分析系统 技术栈: YOLOv8:用于目标检测,是一个快速且准确的目标检测框架。DeepSORT:用于目标跟踪,结合了深度学习特征提取和卡尔曼滤波器来预测目标轨迹。GUI:提供一个直观易用的图形用户界面&am…...

机器学习无监督学习
版权声明 本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl1. 无监督学习概述 1.1 定义与特点 无监督学习是一种数据挖掘技术,它允许机器通过观察数据来学习数据的内在结构和模式,而无需预先标注的输出变量。这种方法特别适用于数据探索和发现隐藏在数据…...

windows10-VMware17-Ubuntu-22.04-海康2K摄像头兼容问题,求解(已解决)
文章目录 1.webrtc camera测试2.ffmpeg 测试3.Ubuntu 自带相机4.解决办法 环境:windows10系统下,VMware的Ubuntu-22.04系统 问题:摄像头出现兼容问题,本来是想开发测试的,Ubuntu方便些。买了海康2K的USB摄像头…...
【系统架构设计师】解释器模式
解释器模式(Interpreter Pattern)是一种行为型设计模式,它定义了文法的表示,并定义了一个解释器,该解释器使用该表示来解释语言中的句子。在解释器模式中,通常包括一个抽象语法树(Abstract Synt…...
Hive原理剖析
1. 概述 背景介绍 Apache Hive是一个基于Hadoop的开源数据仓库软件,为分析和管理大量数据集提供了SQL-like的接口。最初由Facebook开发并贡献给Apache,Hive现已成为大数据处理领域的重要工具之一。它将传统的SQL功能与Hadoop的强大分布式处理能力结合&…...
在 Ubuntu 上查看重复文件
一般情况下 1. 使用 fdupes 工具 fdupes 是一个专门用于查找重复文件的工具。 安装: sudo apt-get install fdupes 使用: fdupes -r /path/to/directory -r 选项会递归查找子目录中的重复文件。 2. 使用 rmlint 工具 rmlint 是另一个强大的重复文件查找工具…...
docker容器高效连接 Redis 的方式
在微服务架构中,Redis 是一种常见的高效缓存解决方案,通常用于存储临时数据、会话信息或 token。如何在服务容器中高效、稳定地连接 Redis 是架构设计中的一个重要环节。 这篇博客将以实际项目为例,详细介绍如何配置 Flask 应用中的服务容器…...

手撕Python之生成器、装饰器、异常
1.生成器 生成器的定义方式:在函数中使用yield yield值:将值返回到调用处 我们需要使用next()进行获取yield的返回值 yield的使用以及生成器函数的返回的接收next() def test():yield 1,2,3ttest() print(t) #<generator object test at 0x01B77…...

LabVIEW步进电机控制方式
在LabVIEW中控制步进电机可以通过多种方式实现。每种方法都有其独特的优缺点,适用于不同的应用场合。下面详细介绍几种常见的步进电机控制方式,并进行比较。 1. 开环控制(Open-Loop Control) 特点 通过定期发出脉冲信号来控制步进…...

vllm源码解析(五):LLM模型推理
八 模型推理细节探索 8.1 回顾下step的流程 def step(self) -> List[Union[RequestOutput, EmbeddingRequestOutput]]:# 多GPU并行推理时走AsyncLLMEngine分支。如果进入当前LLMEngine,性能会下降,这里会抛出异常。if self.parallel_config.pipeline_parallel_s…...

数学建模笔记——熵权法(客观赋权法)
数学建模笔记——熵权法[客观赋权法] 熵权法(客观赋权法)1. 基本概念2. 基本步骤3. 典型例题3.1 正向化矩阵3.2 对正向化矩阵进行矩阵标准化3.3 计算概率矩阵P3.4 计算熵权3.5 计算得分 4. python代码实现 熵权法(客观赋权法) 1. 基本概念 熵权法,物理学名词,按照信息论基本原…...

XGBoost算法-确定树的结构
我们在求解上面的w和obj的过程中,都是假定我们的树结构是确定的,因为当我们改变树中划分条件的时候,每个叶子节点对应的样本有可能是不一样的,我们的G和H也是不一样的,得到的最优w和最优obj肯定也是不一样的。 到底哪一…...
concurrentHashMap线程安全实现的原理
1. Segment 数组 ConcurrentHashMap 内部维护一个 Segment 数组,每个 Segment 都是一个小型的 HashMap。Segment 继承自 ReentrantLock,因此每个 Segment 都是一个可重入锁。 2. 并发级别 ConcurrentHashMap 在构造时可以指定并发级别(con…...

简易版抽奖活动的设计技术方案
1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以? 在 Golang 的面试中,map 类型的使用是一个常见的考点,其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...
Java 8 Stream API 入门到实践详解
一、告别 for 循环! 传统痛点: Java 8 之前,集合操作离不开冗长的 for 循环和匿名类。例如,过滤列表中的偶数: List<Integer> list Arrays.asList(1, 2, 3, 4, 5); List<Integer> evens new ArrayList…...
AtCoder 第409场初级竞赛 A~E题解
A Conflict 【题目链接】 原题链接:A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串,只有在同时为 o 时输出 Yes 并结束程序,否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...
将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?
Otsu 是一种自动阈值化方法,用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理,能够自动确定一个阈值,将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...
css的定位(position)详解:相对定位 绝对定位 固定定位
在 CSS 中,元素的定位通过 position 属性控制,共有 5 种定位模式:static(静态定位)、relative(相对定位)、absolute(绝对定位)、fixed(固定定位)和…...
OpenLayers 分屏对比(地图联动)
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 地图分屏对比在WebGIS开发中是很常见的功能,和卷帘图层不一样的是,分屏对比是在各个地图中添加相同或者不同的图层进行对比查看。…...
Swagger和OpenApi的前世今生
Swagger与OpenAPI的关系演进是API标准化进程中的重要篇章,二者共同塑造了现代RESTful API的开发范式。 本期就扒一扒其技术演进的关键节点与核心逻辑: 🔄 一、起源与初创期:Swagger的诞生(2010-2014) 核心…...

dify打造数据可视化图表
一、概述 在日常工作和学习中,我们经常需要和数据打交道。无论是分析报告、项目展示,还是简单的数据洞察,一个清晰直观的图表,往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server,由蚂蚁集团 AntV 团队…...
《C++ 模板》
目录 函数模板 类模板 非类型模板参数 模板特化 函数模板特化 类模板的特化 模板,就像一个模具,里面可以将不同类型的材料做成一个形状,其分为函数模板和类模板。 函数模板 函数模板可以简化函数重载的代码。格式:templa…...