泛函和变分法导引

本文主要内容取自于浙江大学的一篇PPT,作者为Hongxin Zhang。源网页在:

http://www.cad.zju.edu.cn/home/zhx/FAVM/1.pdf

问题的起源

我们知道,平面上两点间直线距离最短。然而如何证明呢?

假设l两点坐标分别为(0,0)和(a,b),连接两点之间的曲线方程为f(x),那么曲线在两点间的长度可以写为:

$s=\int_{0}^{a}\sqrt{1+y‘^2}dx$

两点间距离最短,即上式取最小值,同时满足约束条件y(0)=0,y(a)=b。这就是最简单的变分问题。

在上面的式子中,距离s是函数y(x)的函数,或称泛函。一般的函数f(x)在实数x和实数f(x)之间建立对应关系;泛函$\Pi (x)$在函数f(x)和实数$\Pi (x)$之间建立对应关系。

变分法假定泛函取得极值的函数y(x)存在,通过变分法求得泛函取极值时y(x)所需满足的微分方程。

时间: 2024-10-13 00:05:17

泛函和变分法导引的相关文章

理解泛函的概念(图像处理中的数学原理详解)

全文目录请见 图像处理中的数学原理详解(Part1 总纲) http://blog.csdn.net/baimafujinji/article/details/48467225 2.4  从泛函到变分法 作为数学分析的一个分支,变分法(Calculus of Variations)在物理学.经济学以及信息技术等诸多领域都有着广泛而重要的应用.变分法是研究依赖于某些未知函数的积分型泛函极值的普遍方法.换句话说,求泛函极值的方法就称为是变分法. 2.4.1  理解泛函的概念 变分法是现代泛函分析理论

变分法简介

本篇文章可以作为变分法的简单入门,包含下面四个部分 泛函的基本概念 预备定理 Euler-Lagrange方程的推导 具体应用 一.泛函的基本概念 变分法的诞生要追溯到Johann Bernoulli(1667-1748)于1696年提出的“最速降线问题”,这个问题是一个求极值问题,但和普通的函数求极值又有不同,它的目标函数的自变量不是一个数,而是一个函数.由于问题很新颖,很快就引起了一些大家的兴趣,其中Johann的哥哥Jacob Bernoulli(1654-1705)给出了较为一般化的解法

变分法浅析

[转载请注明出处]http://www.cnblogs.com/mashiqi 2014/5/18 以下想法纯属个人的体会,肯定有很多不周到的地方,欢迎大家指正! 变分思想的源头:引入一个实数,于是可将不好处理的"泛函对函数求导"问题转化为稍微可以下手的"函数对实数求导"的问题.这样的转化得以进行,是因为原泛函的变分性质(定理1.3.1),即Frechet可导性.我们求变分问题的时候,似乎没有用到Frechet导数这些东西,然后,它们并不是没有被用到,而是没有表现出

泛函与变分基础

基本概念 泛函 泛函是一个函数的表达式,取值取决于该表达式中的函数,泛函是函数的函数. 1)除了变量x外,泛函还可以包含其他的独立变量: 2)除函数y(x)外,泛函还可以包含有许多以上述独立变量为函数的其他函数(因变量): 3)泛函中,除了一阶导数外,还可以包含有高阶导数. 变分法 经典变分问题都是寻求一个问题的最优解答,其求解过程为“最优化”过程. 经典变分问题的求解方法和过程是泛函求极值的方法和过程. 研究泛函极值的方法就是所谓的变分法,研究泛函极值的近似方法就是所谓变分方法. 一阶变分 函

泛函编程(17)-泛函状态-State In Action

对OOP编程人员来说,泛函状态State是一种全新的数据类型.我们在上节做了些介绍,在这节我们讨论一下State类型的应用:用一个具体的例子来示范如何使用State类型.以下是这个例子的具体描述: 模拟一个自动糖果贩售机逻辑:贩售机有两种操作方法:投入硬币和扭动出糖旋钮.贩售机可以处于锁定和放开两种状态.模拟运作跟踪贩售机内当前的糖果和硬币数量.贩售机的操作逻辑要求如下: 1.如果机内有糖的话,投入硬币贩售机从锁定状态进入放开状态 2.在放开状态下扭动旋钮贩售机放出一块糖果后自动进入锁定状态 3

泛函编程(6)-数据结构-List基础

List是一种最普通的泛函数据结构,比较直观,有良好的示范基础.List就像一个管子,里面可以装载一长条任何类型的东西.如需要对管子里的东西进行处理,则必须在管子内按直线顺序一个一个的来,这符合泛函编程的风格.与其它的泛函数据结构设计思路一样,设计List时先考虑List的两种状态:空或不为空两种类型.这两种类型可以用case class 来表现: 1 trait List[+A] {} 2 case class Cons[+A](head: A, tail: List[A]) extends

泛函编程(14)-try to map them all

虽然明白泛函编程风格中最重要的就是对一个管子里的元素进行操作.这个管子就是这么一个东西:F[A],我们说F是一个针对元素A的高阶类型,其实F就是一个装载A类型元素的管子,A类型是相对低阶,或者说是基础的类型.泛函编程风格就是在F内部用对付A类的函数对里面的元素进行操作.但在之前现实编程中确总是没能真正体会这种编程模式畅顺的用法:到底应该在哪里用?怎么用?可能内心里还是没能摆脱OOP的思维方式吧.在前面Stream设计章节里,我们采用了封装形式的数据结构设计,把数据结构uncons放进了特质申明里

泛函编程(15)-泛函状态-随意数产生器

对于OOP程序员来说,泛函状态变迁(functional state transition)是一个陌生的课题.泛函状态变迁是通过泛函状态数据类型(functional state)来实现的.State是一个出现在泛函编程里的类型(type).与其它数据类型一样,State同样需要自身的一套泛函操作函数和组合函数(combinators),我们将在以下章节中讨论有关State数据类型的设计方案. 在正式介绍State类型前,我们先从随意数产生器(RNG: Random Number Generat

泛函编程(16)-泛函状态-Functional State

初接触泛函状态觉着很不习惯.主要是在使用State数据类型时很难理解其中的原理,特别是泛函状态变迁机制(state transition mechanism):怎么状态就起了变化,实在难以跟踪.我想这主要是因为状态变迁机制经过了函数组合,已经深深的埋藏在运行代码后面.上节我们讨论到RNG,对于了解State类型是个很好的开头.RNG简单描述了泛函方式的状态变迁及支持状态变迁所需要的数据结构和操作函数款式. 在上节我们提到过 type Rand[+A] = RNG => (A, RNG),Rand