zoukankan      html  css  js  c++  java
  • 常微分方程

    在工程物理的研究中,很多现象(例如:波动方程)的定量描述需要用到二阶微分方程,这里把相关的知识整理一下,以便随时使用,内容都是高数教材[1][2]上搬过来的,谈不上原创,但是自己整理一遍确实可以加深印象。
    对于微分方程,如果在方程中只出现一个未知函数的导数,那么就是常微分方程,反之就是偏微分方程。如果未知函数的最高次导数是2,那么它就是一个二阶微分方程。如果对于未知函数及其导数都是一次方程,就叫做线性方程。对于微分方程 (f(x,y,y^{'})=Q(x)), 如果其中Q(x)=0,则称为齐次方程,反之则称为非齐次方程。

    • 常系数二阶线性齐次常微分方程:(y^{''}+py^{'}+qy=0)
      这是我们最常见到的微分方程之一,波动方程,电路震荡方程都是这个形式。经过数学先贤们的尝试,此类方程的尝试解可取成这个形式:(y=e^{rx}),其中r是一个复数。将其带入微分方程可以得到如下的特征方程:(r^2+pr+q=0),此时针对特征方程判别式的形式,可以把特解分为3类:
    1. 特征方程有两个实根((Delta=sqrt{p^2-4q}>0)), r1和r2,则方程的两个特解分别是:(y_1=e^{r_1 x}, y_2=e^{r_2 x}),这样微分方程的通解就是:(y=c_1 e^{r_1 x}+c_2 e^{r_2 x})
    2. 特征方程只有一个实根((Delta=sqrt{p^2-4q}=0)):r0,其对应的特解是(y_0=e^{r_0 x}),这时还需要用常数变易法得到另一个实根才可以,常数变易法是同济版高数[1]里的称呼,而在中科大的高数导论[2]里也把类似的方法称为刘维尔公式。这种方法各有侧重,常数变易法可以把另一个特解设为(y=u(x)y_0(x)),然后将其代入微分方程,这时可以得到(u^{''}=0),经过观察我们可以发现(u=x),也符合这个要求,所以第二个特解就可以取:(y_2=x e^{r_0 x}),这样方程的通解就是:(y=c_1 e^{r_0 x}+c_2 xe^{r_0 x})。如果使用刘维尔公式,首先在书中给出了刘维尔公式的严格证明,之后只要套用这个公式就可以得到第二个特解,最终得到的通解和常数变易法是一样的。
    3. 特征方程没有实根((Delta<0)),但有两个共轭的复数根:(r_1^*=a+ib,r_2^*=a-ib), 这样复数特解分别是: (y_1^*=e^{(a+ib)x}, y_2^*=e^{(a-ib)x}),但是我们需要的是线性无关的实数解函数。后者可以用这两个复数特解的运算得到。(y_1=y_1^*+y_2^*=2e^{ax} cos(bx), y_2=1/i (y_1^*-y_2^*)=2e^{ax} sin(bx)),因此对应的实数通解就是:(y=e^{ax}(c_1 cos(bx)+c_2 sin(bx)))
    • 常系数二阶线性非齐次微分方程:(y^{''}+py^{'}+qy=f(x))
      根据线性方程解的叠加原理,只要我们求得一个非齐次方程的特解(y^*),则对应的非齐次方程的通解就是齐次方程的通解加上非齐次方程的特解。下面就介绍用待定系数法求解两类特殊的非齐次方程。
      type1: (y^{''}+py^{'}+qy=e^{lambda x}P_m(x)=e^{lambda x}[a_0 x^m+...+a_{m-1}x+a_m])
      type2: (y^{''}+py^{'}+qy=e^{lambda x}[P_l(x)cos(omega x)+P_n(x)sin(omega x)])
      对于第一类非齐次方程,一般也只有多项式和指数函数乘积的导数还是多项式和指数函数的积,所以我们猜测的非齐次特解也可以是多项式和指数函数的积。也即:(y^*=x^kQ_m(x)e^{lambda x}),其中k安装(lambda)是不是齐次特征方程的实根,单实根,重根分别取0,1,2.然后将猜测的特解代入微分方程求导再与右侧多项式比对系数,求解系数方程组从而得到一个特解。
      对于第二类非齐次方程,可以猜测其特解也是三角函数和指数函数乘积的形式。一般可以将其特解设成:(y^*=x^k e^{lambda x}[R_m(x)cos(omega x)+R_m(x)sin(omega x)]),m=max(l,n), 其中k根据(lambda+-iomega)是不是齐次特征方程的根,不是的话k=0,是单根的话k=1。然后将其代入微分方程,对比系数,求解系数方程组从而得到一个特解。

    • 高阶常系数齐次线性方程(这里讨论的是阶数一般高于2,但是1,2也是其的特例)
      n阶常系数齐次线性微分方程的一般形式是:(y^{(n)}+p_1 y^{(n-1)}+ ... +p_{n-1}y^{'}+p_n y=0),类似于二阶齐次方程,它也对应了一个n阶的特征代数方程,其根一般也有n个。其中的不同类型的根可以对应这四种情况:

    1. 单实根r: 对应特解(e^{rx})
    2. k重实根r: 对应特解(e^{rx}(C_1+C_2 x+ ...+ C_k x^{k-1}))
    3. 一对单复根(r_{1,2}=a+-ib): 对应特解(e^{ax}(C_1 cos(bx)+C_2 sin(bx)))
    4. 一对k重复根(r_{1,2}=a+-ib): 对应特解(e^{ax}[(C_1+C_2 x+...+C_k x^{k-1})cos(bx)+(D_1+D_2 x + ... +D_k x^{k-1})sin(bx)])
      其通解也可以由以上四种类型的每个根对应的特解的叠加得到。
    • 高阶常系数非齐次线性方程
      针对n阶非齐次方程,其通解也是齐次通解(前面已经求得)和非齐特解的叠加,所以我们只需要在这里求得其非齐特解即可。特解的猜测形式和二阶非齐次方程的结构比较类似,只要注意到k是特征方程中所含根(lambda)的重复次数,若其不是特征方程的根,k=0,若(lambda)是特征方程的s重根k=s.

    • 欧拉方程(一类特殊的变系数线性常微分方程)
      欧拉方程的一般形式是:(x^n y^{(n)}+p_1 x^{n-1}y^{(n-1)}+...+p_{n-1}x y^{'}+p_n y=f(x)),对于欧拉方程,可以做变量代换,令t=ln(x),就可以把变系数的微分方程转换成常系数的微分方程,这个结构就非常类似于我们在前面讨论的非齐次方程的解法,只要求出这个新的函数解t,再逆用变换就可以得到原微分方程的解。

    • 常微分方程的幂级数解法
      如果微分方程的解不能用初等函数或者积分函数表示时,可以用幂级数的方法来求解,也就是说,我们可以假设微分方程的解函数是一个幂级数的形式,只要在根据边界条件和微分方程确定各项的系数即可。这种方法对于一般的有解析解的微分方程应该也是适用的,因为解函数的解析表达式和解函数的幂级数应该是一一对应的关系。
      例如:微分方程:(y^{''}-xy=0),对应边界条件为:(y(0)=0, y^{'}(0)=1),可以设解函数为:(y=sum_{n=0}^{infty} a_n x^n),首先将其代入边界条件得到部分系数的值,然后再将其代入微分方程,通过待定系数法得到其它系数的值,一般会有一个系数的递推公式。

    • 常微分方程组
      有时我们还会遇到好几个未知函数耦合在不同的方程中的情况,这时就出现了求解常微分方程组的问题。例如:

    [left { egin{array}{l} frac{dy}{dx}=3y-2z\ frac{dz}{dx}=2y-z end{array} ight . ]

    其求解思路一般是:
    1)从方程中消去一些未知函数及其导数,得到一个只含一个未知函数的高阶微分方程。
    2)求解这个未知函数的高阶微分方程
    3)将解函数代入原微分方程,求出另一个未知函数
    以上式为例:先对第一个方程两边都求x的导数,得到:(frac{d^2 y}{dx^2}=3frac{dy}{dx}-3y-2frac{dz}{dx}),再由1式得到:(z=1/2(3y-frac{dy}{dx}))结合2式:(frac{dz}{dx}=2y-z),代入上式得到:(frac{d^2 y}{dx^2}-2frac{dy}{dx}+5y=0),这样就是前面提到的二阶常系数齐次方程了,可以直接求解,进而再解出z。

    参考:
    [1]同济大学应用数学系,高等数学,第五版,高等教育出版社
    [2]中科大高数教研室,高等数学导论,第三版,中科大出版社

  • 相关阅读:
    hibernate和mybatis区别
    Spring事务的传播行为和隔离级别
    数组拷贝
    spring mvc 一次请求 两次查询
    手游性能之渲染分析3
    Android pm 命令详解
    Android am命令使用
    Android dumpsys命令详细使用
    java处理高并发高负载类网站的优化方法
    关于ArrayList的5道面试题
  • 原文地址:https://www.cnblogs.com/docnan/p/8126460.html
Copyright © 2011-2022 走看看