寻找“最好”(2)——欧拉-拉格朗日方程
欧拉-拉格朗日方程(Euler -Lagrange equation) 为变分法中的一条重要方程。它提供了求泛函的平稳值的一个方法,其最初的想法是初等微积分理论中的“可导的极值点一定是稳定点(临界点)”。当能量泛函包含微分时,用变分方法推导其证明过程,简单地说,假设当前的函数(即真实解)已知,那么这个解必然使能量泛函取全局最小值。
泛函
我们很清楚函数的概念,它大致是,将一个自变量扔到一个黑盒里,经过黑盒的暗箱操作,最终得到了一个因变量:
泛函数是将一个函数作为自变量,经过黑盒,最终得到一个实数的因变量:
可以说,泛函就是函数的函数,是更广泛意义上的函数。
欧拉-拉格朗日方程
最速降线
有一种泛函称为简单泛函,它的长相是这样:
其中L是一个确定的函数,之所以叫简单泛函,是因为只传递了三个参数,复杂一点的话还可以继续传递f的高阶导数。现在的问题是,如果A处于极值点,它对应的f(x)是什么?
这实际上是求一个具体函数,使得泛函能够取得极值。一个典型的例子是最速降线问题:从所有连接不在同一铅垂线上的定点A、B的曲线中找出一条曲线,使得初始速度为0的质点,受重力作用,由A沿着曲线滑下时以最短的时间到达B:
这里我们将曲线看作路径f关于时间t的函数:
ΔSi是在极短时间Δti内沿着曲线移动的微小弧长,此时的瞬时速度是ΔVi,距离=速度×时间:
重力加速的推论,在t时间处的速度v2 = 2gh:
质点从A点到B点的总时间:
根据弧长公式,可以将dS化简,进一步写成(关于弧长公式,可参考:《数学笔记25——弧长和曲面面积》):
把结论和简单泛函做个对比,可以看到二者形式相吻合:
最右侧的式子并没有严格映射到L(x,f(x),f’(x)),因为在函数中并没有直接使用到参数t,这无所谓了,可以理解成虽然传递了参数t,但实际上t并没有起任何作用,就像y (x) = 1一样,无论传递任何x,最终结果都是1,但它仍然是一个y关于x的函数。现在回到最初的问题,AB间有无数条曲线,每条曲线都可以求得时间T[f],在众多的曲线中,有一条唯一的曲线能够使得T[f]取得最小值,这个f(x)应该长成什么样?
EL方程的推导
这里暂且耍一下流氓,抛开具体的速降问题,只看A[f],并且假设f0(x)就是符合条件的最优函数。现在,将f0(x) + k(x)定义为是有别于最优曲线f0(x)的其它函数,其中k(x)可以是任意函数。如果如下定义f(x, k):
因为f0(x)是最优函数,此时A[f0]有最小值,则一定有:
由于任意函数k(x)不好定义,为了能够使k(x)任意小,令:
η是任意函数,当ε取极小值时,可以看作是对f0(x)的轻微扰动;还需要额外定义的是,在端点处是不能扰动的,即εη(A) = εη(B) = 0,这对于任意ε都适用,所以η(A) = η(B) = 0。注意ε是对f0(x)的扰动程度,εη(x)是扰动后的增量,εη(x) = 0说明扰动为0,也就是无扰动,f(x) + εη(x)才是扰动后的函数。
由于假设f0(x)是最优函数,所以可以将f0(x)看作已经确定的函数,如果再将任意函数η(x)看作一个确定的函数,那么A可以看成ε的函数,若A’ = 0,函数存在极值,这已经变成了极值点的求解:
根据链式法则(可参考《多变量微积分笔记4——全微分与链式法则》):
根据分部积分(可参考《单变量微积分笔记24——分部积分》):
η(x) = 0说明对f0(x)无扰动时,A能取得极值,但它对f0的具体形式无任何帮助;因此最优函数f0(x)的具体形式由第一个解确定:
这就是欧拉-拉格朗日方程(Euler-Lagrage equation),可以帮助我们求解泛函下的极值,这里L是已知的。它的最初的思想来源于微积分中“可导的极值点一定是稳定点(临界点)”。它的思想在于:假定当前泛函的解已知,那么这个解必然使得泛函取得最小值(假定是最小值)。换言之,只要在泛函中加入任何扰动,都会使泛函的值变大,所以扰动为0的时候,就是泛函关于扰动的一个极小值。扰动用一个很小的数ε乘上一个连续函数η(x)。当ε趋近于0,意味着扰动也趋近于0。所以当扰动为0时,泛函对扰动程度的导数也为0。这就非常巧妙的把对函数求导的问题转化成了一个单变量求导问题。
需要注意的是,欧拉-拉格朗日方程的前提条件是端点不会扰动,也就是说需要固定两个端点。
最速降线的解
有了欧拉-拉格朗日方程,终于可以计算最速降线的最优解:
其中f = f(t)。由于:
将①代入:
现在,使用参数方程:
之所以令f’ = cot(θ/2),是因为在θ的定义域[0, 2π]上,f’可以取任意值:
y = cot(x/2), 0 ≤ x ≤ 2π
上式最终将f(t)转换为关于θ的函数,对上式直接求导:
通过参数方程f = f(t),t = t(θ),f’ = cot(θ/2) 求导:
最终的曲线用参数方程表示:
这正是摆线的参数方程。本节三角替换、参数方程、摆线的相关知识可参考:《线性代数笔记6——直线和曲线的参数方程》和《单变量微积分笔记20——三角替换1(sin和cos)》
大概古人就理解了最速降线,所以中国古建筑的屋顶的斜坡并不是直线,这样可以加快雨水的流动(不知道对不对,也有可能仅仅为了美观):
两点间的最短路径
初中几何中给出这样一个公理:两点间直线距离最短。记得当时老师的解释是,公理是大家公认的,不需要证明。这对初中来说没错,但公理实际上也是可以证明的。
这可以使用反证法证明,但是在这里,我们想使用解析的方式证明。
AB两点间的曲线有无数条,需要取其中最短的一条。令曲线的函数是y = y(x),那么根据弧长公式(可参考《单变量微积分笔记25——弧长和曲面面积》),曲线的长度可表示为:
这有点像欧拉-拉格朗日方程的泛函了:
现在将弧长和欧拉-拉格朗日方程对应:
由于L中仅用到了y’,并没有用到y,所以L关于y的偏导等于0:
y = ax + b正是直线方程,所以AB间最短的距离是直线。可以看出,初等数学为高等数学的推导提供了依据,高等数学反过来又能证明初等数学。
作者:我是8位的
出处:http://www.cnblogs.com/bigmonkey
本文以学习、研究和分享为主,如需转载,请联系本人,标明作者和出处,非商业用途!
扫描二维码关注公众号“我是8位的”
转载于:https://www.cnblogs.com/bigmonkey/p/9519387.html
寻找“最好”(2)——欧拉-拉格朗日方程相关推荐
- 欧拉-拉格朗日方程【转】
最近在看RGBD-Flow的文章,因为optical flow的思想中用了变分,所以需要了解一些泛函分析求极值的东西,这篇欧拉拉格朗日的文章是作者从wiki转载,留下来以备后用,话说最近看论文头好大, ...
- 泛函,变分,欧拉-拉格朗日方程
∫f(Z)p(Z)dZ∫f(Z)p(Z)dZ\int f(Z)p(Z) dZ如何理解?假设Z={z1,z2,...,zn}Z={z1,z2,...,zn}Z=\{z_1,z_2,...,z_n \}. ...
- 机械手位置控制——欧拉-拉格朗日方程仿真
机械手位置控制之欧拉-拉格朗日方程仿真 问题背景 控制率设计 仿真参数 仿真结果 (a)第一组期望位置仿真 (b)第二组期望位置仿真 仿真方法说明 1.通过Matlab的内置函数求解 2.通过simu ...
- 科学脑洞—最速降线问题(欧拉-拉格朗日方程的由来)
约翰·伯努利对速降线问题产生了极大的兴趣,靠着对光的折射现象敏锐的洞察,他对该问题给出了一个拍案叫绝的解答: 该函数其实就是一条球滚线,画出其函数图像如下: 在求得该问题的解之后,约翰·伯努利就向科学 ...
- 【学习体会】泛函 欧拉-拉格朗日方程 两点之间直线最短
泛函 泛函是函数的函数,定义域是函数集,值域是数集.也就是说,输入是函数,输出是实数. 参考:欧拉-拉格朗日方程(Euler -Lagrange equation)_qq_43217195的博客-CS ...
- 举例 微积分 拉格朗日方程_Euler-Lagrange Equation (欧拉-拉格朗日方程)推导
我们知道,对于一个连续函数来说,取得极指的必要条件是它的导函数等于0,也就是驻点(stationary point),这也是费马引理(Fermat's theorem)所表述的内容.然而,函数本身的定 ...
- 《机器人动力学与控制》第九章——动力学 9.3 再看欧拉-拉格朗日运动方程
文章目录 <机器人动力学与控制>第九章--动力学 9.3 再看欧拉-拉格朗日运动方程 9.3.0 回顾欧拉-拉格朗日方程法 9.3.1 方便计算的特殊形式 参考文献 <机器人动力学与 ...
- 【控制】《复杂运动体系统的分布式协同控制与优化》-方浩老师-第5章-多欧拉-拉格朗日系统分布式编队跟踪控制
第4章 回到目录 第6章 第5章-多欧拉-拉格朗日系统分布式编队跟踪控制 5.1 引言 5.2 问题描述 5.3 队形加权中心估计器设计 5.4 编队跟踪控制器设计 5.5 仿真验证 5.6 本章小结 ...
- 【控制】《复杂运动体系统的分布式协同控制与优化》-方浩老师-第4章-一类欧拉-拉格朗日系统全局稳定的输出反馈协调控制
第3章 回到目录 第5章 第4章-一类欧拉-拉格朗日系统全局稳定的输出反馈协调控制 4.1 引言 4.2 问题描述 4.3 基于坐标变换和状态重构的部分线性化 4.4 分布式输出反馈跟踪控制器设计 4 ...
- 【控制】《复杂运动体系统的分布式协同控制与优化》-方浩老师-第3章-局部指数稳定的多欧拉-拉格朗日系统协同控制
第2章 回到目录 第4章 第3章-局部指数稳定的多欧拉-拉格朗日系统协同控制 3.1 引言 3.2 对动态领航者的分布式跟踪控制 3.3 无领航者的分布式一致性控制 3.4 仿真验证 3.5 本章小结 ...
最新文章
- 关于编译GITHUB上的工程
- java fast math,Java FastMath.ceil方法代碼示例
- 面试题,反射创建类实例的三种方式是什么
- 记一次 Oracle无法连接 问题分析
- 接口测试从零开始系列_mock技术使用
- spring中配置quartz定时器
- Ubuntu18.04安装JDK1.8.0_11
- any、never......TypeScript 中这些特殊的类型,你会用了吗?
- MFC更改环境目录可执行文件目录下继承的值
- LeetCode——150. 逆波兰表达式求值(Evaluate Reverse Polish Notation)[中等]——分析及代码(Java)
- python刷网易云_Python脚本用于定时关闭网易云音乐PC客户端
- 【面试招聘】 科班小硕的2020年面试小结
- AJAXJSON基础入门与提升
- 5.5 图层样式的复制和粘贴 [原创Ps教程]
- Word 去除脚注分隔线前的空格
- 2017lol服务器维修时间,lol年3月16日要维护多长时间2017_lol3.16维护时间公告_好特教程...
- 一份实用的seo整体优化方案
- 设计模式(笔记)优先使用对象组合而不是类继承
- 2012年9月17日汇报 Axure RP Pro 6.5.0.3037 for Mac 简体中文加强正式版进展
- 机架服务器的系统安装,机架服务器操作系统安装