zoukankan      html  css  js  c++  java
  • 一阶常系数线性差分方程通解求法

    最近遇到要求解此类差分方程的问题,查阅了相关资料,进行了完善并记录下来

    求一阶常系数齐次线性差分方程的通解

    一阶常系数齐次线性差分方程的一般形式为 (y_{n+1}-ay_n=0,(a eq 0))

    迭代法

    给定初始值为 (y_0) ,则 (y_1=ay_0, y_2=ay_1=a^2y_0, y_3=ay_2=a(a^2y_0)=a^3y_0, dots , y_n=a^ny_0)

    其中初始值 (y_0) 为常数,令 (y_0=C) , 则通解可表示为 (Y_n=Ca^n)

    当存在某一个 (y_x) 已知时,将其代入通解,可以求得 (C)

    特征根法

    将原方程变形 (y_{n+1}-ay_n=0,(a eq 0) iff y_{n+1}-y_n+(1-a)y_n=0 iff Delta y_n+(1-a)y_n=0,(a eq 0))

    根据 (Delta lambda^n=(lambda-1)^n) 可以看出 (y_n) 的形式一定为某一指数函数

    (y_n=lambda^n(lambda eq 0)) ,代入原方程得 (lambda^{n+1}-alambda^n=0) ,即 (lambda-a=0 iff lambda=a)

    于是 (y_n=a^n) 是原方程的一个解,从而 (y_n=Ca^n) 是原方程的通解

    举例

    【例1】求 (y_{n+1}-y_n=0) 的通解

    【解】特征方程为 (lambda-1=0) ,解得特征根为 (lambda=1) ,所以原方程的通解为 (Y_n=C)

    【例2】求 (y_{n+1}-2y_n=0) 的通解

    【解】特征方程为 (lambda-2=0) ,解得特征根为 (lambda=2) ,所以原方程的通解为 (Y_n=Ccdot2^n)

    【例3】已知 (y_0=1) ,求 (y_{n+1}+y_n=0) 的通解

    【解】特征方程为 (lambda+1=0) ,解得特征根为 (lambda=-1) ,所以原方程的通解为 (Y_n=C(-1)^n)

    (y_0=1) 代入,得到 (1=C(-1)^0 iff C=1) ,所以原方程的通解为 (Y_n=(-1)^n)

    求一阶常系数非齐次线性差分方程的通解

    一阶常系数非齐次线性差分方程的一般形式为 (y_{n+1}-ay_n=f(n),(a eq 0))

    (f(n)=0) 时,方程为 (y_{n+1}-ay_n=0) ,称它为原方程对应的齐次方程

    一阶常系数非齐次线性差分方程的通解为对应的齐次方程通解 (Y_n) 与原方程的特解 (y^*_n) 之和,即 (y_n=Y_n+y^*_n)

    (f(n)) 为某些特殊类型的函数时,采用待定系数法求其特解 (y^*_n) 较为方便

    右端函数为m阶多项式类型

    原方程变形为 (Delta y_n+(1-a)y_n=f(n),(a eq 0))

    由于 (f(n)) 为多项式,因此 (y^*_n) 也应该是多项式

    (a eq1) 时,令 (y^*_n= heta_0 n^m+ heta_1 n^{m-1}+dots+ heta_m)

    (a=1) 时,令 (y^*_n=n( heta_0 n^m+ heta_1 n^{m-1}+dots+ heta_m))

    举例

    【例1】求 (y_{n+1}-y_n=n^2) 的通解

    【解】对应的齐次方程为 (y_{n+1}-y_n=0) ,特征方程为 (lambda-1=0) ,特征根为 (lambda=1) ,齐次方程的通解为 (Y_n=C)

    设原方程的特结为 (y^*_n=an^3+bn^2+cn) ,代入原方程得 (a(n+1)^3+b(n+1)^2+c(n+1)-an^3-bn^2-cn=n^2)

    原方程要恒成立,用待定系数法得到 (a=frac{1}{3}, b=frac{1}{2}, c=frac{1}{6})

    所以原方程的通解为 (y_n=frac{1}{3}n^3+frac{1}{2}n^2+frac{1}{6}n+C)

    右端函数为指数函数与m阶多项式相乘

    设原方程为 (y_{n+1}-ay_n=mu^nP_m(n),(a eq 0))

    (mu=0,1) 时,属于上面一种情况

    (mu eq 0,1) 时,设 (y_n=mu^n cdot z_n)

    代入原方程得 (mu^{n+1}z{n+1}-amu^nz_n=mu^nP_m(n))

    消去 (mu^n) ,得 (mu z_{n+1}-az_n=P_m(n)) ,就成为了上面一种类型,于是 (y^*_n=mu^n cdot z^*_n)

    参考资料

  • 相关阅读:
    8-21模拟赛解题报告
    8-20模拟赛解题报告
    8-19模拟赛解题报告
    8-18模拟赛解题报告
    8-27复习(写题)报告
    [省赛训练(DP)]Course Selection System
    Trie(字典树)的基本操作与应用(一般与字符串前缀相关)
    [算法学习]欧拉筛
    构造函数运行的机制
    js基本数据类型之间的转换
  • 原文地址:https://www.cnblogs.com/fenggwsx/p/14396305.html
Copyright © 2011-2022 走看看