前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >变分法入门介绍

变分法入门介绍

作者头像
卡尔曼和玻尔兹曼谁曼
修改2019-02-06 07:06:07
3.4K0
修改2019-02-06 07:06:07
举报
文章被收录于专栏:给永远比拿愉快

变分法入门介绍

读完这篇博文你可以了解变分的基本概念,以及使用变分法求解最简泛函的极值。本文没有严密的数学证明,只是感性地对变分法做一个初步了解。

泛函和变分法

给定两点A(x_0, y_0)B(x_1, y_1),求AB两点之间的最短距离。两点之间直线最短,这还用球吗?可是为什么是直线最短呢,而不是其它曲线?

设链接AB两点的曲线为f(x),则AB之间的距离可以表示为在区间[x_0, x_1]上求\Delta{S}=\sqrt{(\Delta{x})^2 + (\Delta{y})^2}线段的累积长度(积分的思想):

S=\int_{x_0}^{x_1}\sqrt{1+f'(x)^2}dx

在这里该函数的变量是f,即函数的变量为函数,我们需要求解出合适的f使得S最小。我们把这样的函数S称为泛函数。

定义:泛函是以函数为变量的函数。

那么什么是变分法呢?求泛函极值的方法称为变分法。

变分法求泛函极值

变分的定义

下面给出变分的定义:对于任意定值x\in [x_0, x_1],可取函数y(x)与另一可取函数y_0(x)之差y(x) - y_0(x)称为函数y(x)y_0(x)处的变分或函数的变分,记做\delta{y},这时有\delta{y}=y(x) - y_0(x)=\epsilon\eta(x)\epsilon是一个很小的数,\eta(x)x的任意参数

对于泛函J[y(x)]的增量\Delta{J}=J[y(x)+\delta{y}] - J[y(x)] = \delta{J} + \mathcal{o}(\delta{y})

泛函的增量\Delta{J}与变分\delta{J}之差是一个比一阶距离更高阶的无穷小,泛函的变分是泛函增量的线性主要部分。

变分的定义是不是跟微分很像(微分的定义\Delta{y}=A\Delta{x}+\mathcal{o}(\Delta{x})=dy+\mathcal{o}(\Delta(x)A是该点的导数)。类比一下,我们在高等数学中学习到的函数极值的必要条件是函数导数等于0,而泛函极值的必要条件也是泛函的变分等于0。

所以有如下定理:若泛函J[y(x)]$在$y=y(x)上达到极值,则它在y=y(x)上的变分\delta{J}等于零。这就是变分原理。

拉格朗日函数

F(x, y(x), y'(x))是三个独立变量xy(x)y'(x)在区间[x_0, x_1]上的已知函数,且二阶连续可微,其中y(x)y'(x)x的未知函数,则泛函

J[y(x)]=\int_{x_0}^{x_1}F(x, y(x), y'(x))dx

称为最简单的积分形泛函,简称最简泛函,被积函数$F$称为拉格朗日函数。

对于拉格朗日函数,其泛函的变分为

\delta{J} = \int_{x_0}^{x_1}(F_y\delta{y} +F_{y'}\delta{y'})dx = \int_{x_0}^{x_1}(F_y\delta{y})dx + (F_{y'}\delta_{y}|_{x_0}^{x_1} - \int_{x_0}^{x_1}(\delta_{y}\frac{d}{dx}F_{y'}d{x})=\int_{x_0}^{x_1}(F_y-\frac{d}{dx}F_{y'})\delta{y}dx

欧拉方程

利用变分原理,使最简泛函J[y(x)]=\int_{x_0}^{x_1}F(x, y(x), y'(x))dx取得极值且满足固定边界条件y(x_0)=y_0y(x_1)=y_1的极值曲线y=y(x)应满足必要条件

F_y-\frac{d}{dx}F_{y'}=0

式中Fx, y, y'的已知函数并有二阶连续偏导数。上述必要条件中的方程叫做泛函的欧拉方程,也叫欧拉-拉格朗日方程。而F_y-\frac{d}{dx}F_{y'}称为F关于y的变分导(函)数。

案例分析--两点之间直线最短

好的,我们利用欧拉方程来证明博文刚开始提出的两点之间直线最短的问题。

这里的F=\sqrt{1+f'(x)^2},求得F_y=0F_{y'}=\frac{y'}{\sqrt{1+{y'}^2}},再求得\frac{d}{dx}F_{y'}=y''(1+{y'}^2)^{-\frac{3}{2}}

根据欧拉方程有-y''(1+{y'}^2)^{-\frac{3}{2}}=0,则y''=0 \Rightarrow y'=C \Rightarrow y=C_1x + C_2

此时,我们就得到了这条曲线确实就是连接两点的直线。

在Mathematica中使用变分法

鉴于本人计算能力超级差,手动求导对我来说实在太痛苦了,我将上述的计算借助于Mathematica计算了一遍,下面是计算过程。不得不说Mathematica真的太强大了。

参考文献

老大中. 变分法基础M. 北京: 国防工业出版社. 2004.

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019年01月10日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 变分法入门介绍
    • 泛函和变分法
      • 变分法求泛函极值
        • 变分的定义
        • 拉格朗日函数
        • 欧拉方程
      • 案例分析--两点之间直线最短
        • 在Mathematica中使用变分法
          • 参考文献
          相关产品与服务
          大数据
          全栈大数据产品,面向海量数据场景,帮助您 “智理无数,心中有数”!
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档